ManyToManyField.through
Django will automatically generate a table to manage many-to-many relationships. However, if you want to manually specify the intermediary table, you can use the through option to specify the Django model that represents the intermediate table that you want to use.
The most common use for this option is when you want to associate extra data with a many-to-many relationship.
If you don’t specify an explicit through model, there is still an implicit through model class you can use to directly access the table created to hold the association. It has three fields to link the models.
If the source and target models differ, the following fields are generated:
-
id: the primary key of the relation. -
<containing_model>_id: theidof the model that declares theManyToManyField. -
<other_model>_id: theidof the model that theManyToManyFieldpoints to.
If the ManyToManyField points from and to the same model, the following fields are generated:
-
id: the primary key of the relation. -
from_<model>_id: theidof the instance which points at the model (i.e. the source instance). -
to_<model>_id: theidof the instance to which the relationship points (i.e. the target model instance).
This class can be used to query associated records for a given model instance like a normal model.
Please login to continue.