Je sais que c'est simple, mais je n'arrive pas à comprendre comment joindre certains modèles pour les afficher dans mon modèle dans Django. J'ai des "groupes" qui peuvent avoir plusieurs "contacts".Obtention et affichage d'objets associés dans Django
Jusqu'à présent, j'ai:
class Group(models.Model):
group_name = models.CharField()
class Contact(models.Model):
contact_name = models.ForeignKey(Group)
À mon avis, tout d'abord je suppose que simplement obtenir mes groupes seraient également obtenir des contacts ci-joints, mais cela ne semble pas se passer comme prévu:
def get_queryset(self):
groups = Group.objects.all()
return groups
Je comptais faire quelque chose comme ça dans mon modèle:
{% for group in groups %}
<h2>{{ group.group_name }}</h2>
{% for c in group.contact %}
<h3>{{ c.contact_name }}</h3>
{% endfor %}
{% endfor %}
Cela ne fonctionne pas - qu'est-ce que je fais mal? À mon avis, quelle est la bonne question pour s'assurer que le (s) contact (s) de chaque groupe est récupéré (s)?
'{% pour c dans group.contact_set.all%}' –
Comme indiqué dans cette partie du doc: https://docs.djangoproject.com/fr/1.5/ref/models/relations/ – sebastibe
Merci Burhan , la façon dont je lisais les docs, je pensais que la méthode .contact_set devait être utilisée dans la vue, je ne pensais même pas à l'utiliser dans le template comme ça. Apprécié :) – mrhigham