Django crée automatiquement une relation inverse pour vous dans ce cas, donc avec une instance du modèle Child
, vous pouvez trouver toutes les instances de la famille à laquelle appartient l'enfant:
c = Child.objects.get(id=1)
c.family_set.all() # gives you a list of Families
Comme il est peu probable qu'un enfant appartenir à plusieurs familles, cependant, ce n'est pas vraiment une situation de plusieurs à plusieurs. Vous voudrez peut-être envisager la modélisation de la relation sur un objet enfant:
class Family(models.Model):
pass # your fields here
class Child(models.Model):
family = models.ForeignKey(Family)
De cette façon, vous pouvez obtenir la famille pour un enfant à l'aide mychild.family
et obtenir tous les enfants dans une famille à l'aide de la relation inverse automatique de django myfamily.child_set.all()
.