Django按组成员身份创建查询集筛选器会导致错误

时间:2014-10-24 12:48:00

标签: django django-queryset

我需要创建一个查询集。该类是Allocation,有2个属性(以及其他一些)用户和组。用户和组是默认的django auth用户和组。因此,用户与组有多对多的关系。

class Allocation(models.Model):
    user = models.ForeignKey(User)
    group = models.ForeignKey(Group)

查询集应该只包含那些用户所属的组的对象。下面的尝试导致

TypeError at /allocation/
'SQLEvaluator' object is not iterable

尝试:

queryset=Allocation.objects.select_related().filter(user__groups__contains=F('group'))

1 个答案:

答案 0 :(得分:2)

您不需要__contains

Allocation.objects.select_related().filter(user__groups=F('group'))