Salut Je cherche à remplir une liste de membres, d'après l'origine de leur club.Django - redouté 'itération sur non-séquence'
Ceci est mon code:
members = []
if userprofile.countries.count() > 0:
for c in userprofile.countries.all():
clubs = Club.objects.filter(location__country = c)
for club in clubs:
members_list = Member.objects.get_members(club)
for m in members_list:
members.append(m)
Cependant, lors de l'évaluation for m in members_list:
il déclenche une 'itération sur non-séquence'
Je ne suis pas tout à fait sûr pourquoi? Quelqu'un peut-il me donner des idées ?!
EDIT:
résolu en utilisant les éléments suivants:
members = []
if userprofile.countries.count() > 0:
members_list = member.objects.filter(memberstoentities__club__location__country__in = userprofile.countries.all())
for m in members_list:
members.append(m)
Pouvez-vous poster la source du modèle 'Member'? –
Qu'est-ce que 'Member.objects.get_members' est censé renvoyer? Je devine qu'il renvoie une liste, mais évidemment, ce n'est pas ('None'?) ... – delnan
Que fait' Member.objects.get_members (club) 'qui ne pourrait pas être servi par' club.member_set .all() '? –