2009-08-18 6 views
2

J'ai deux modèles dans Django: les groupes et les entrées. Groupes a un champ plusieurs-à-plusieurs qui le connecte aux entrées. Je veux sélectionner toutes les entrées qui ont un groupe (comme tous ne le font pas!) Et être en mesure d'accéder à leur champ group.title.Vérification de l'appartenance à un groupe (Many to Many dans Django)

J'ai essayé quelque chose le long des lignes de:

t = Entries.objects.select_related().exclude(group=None) 

et tout cela retourne toutes les entrées qui ont des groupes, je ne peux pas t [0] .Groupes pour obtenir le titre. Des idées sur la façon dont cela pourrait être fait?

Edit: plus d'info

Chaque fois que j'utilise le shell de Django pour vérifier ce qui est retourné en t (dans cet exemple), t [0] .group n'existe pas. La seule façon d'y accéder est via t [0] .group_set.all() [0] .title, ce qui semble inefficace et comme je fais quelque chose de mal.

Répondre

3

Vous ne montrez pas le code du modèle, donc je ne peux pas être sûr, mais au lieu de t [0] .Groupes, je pense que vous voulez:

for g in t[0].groups.all(): 
    print g.title 
Questions connexes