【发布时间】:2010-08-25 11:01:57
【问题描述】:
您好,我希望根据俱乐部的来源来填充会员列表。
这是我的代码:
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)
但是,在评估 for m in members_list: 时,它会引发“对非序列的迭代”
我不完全确定为什么?谁能给我任何想法?!
编辑:
使用以下方法解决:
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)
【问题讨论】:
-
你能把
Member模型的来源贴出来吗? -
Member.objects.get_members应该返回什么?我猜它会返回一个列表,但显然它不会(None?)... -
Member.objects.get_members(club)做了哪些club.member_set.all()无法提供的服务? -
Member.objects.get_members(club) 返回与该俱乐部关联的用户的查询集。 club.member_set.all() 似乎不起作用。
标签: python django django-models django-queryset