[Django]-Django: Adding more fields to each ManyToMany Field option

4👍

You can use a through model in the ManyToManyField (docs). This model can be used to store any additional fields.

class engineering_courses(models.Model):
    # ...
    course_offered_by = models.ManyToManyField(engineeringUni, related_name='course_offered_by', through='ThroughModel')


class ThroughModel(models.Model):
    course = models.ForeignKey(engineering_courses)
    university = models.ForeignKey(engineeringUni)
    additional_text = models.CharField()

3👍

Take another look at the django docs referenced in the answer from arjun27. You have more than one foreign key in your ThroughModel, so django is confused. Try specifying the through fields in your engineering_course model, migrate the changes, and see if that works.

Mark

Leave a comment