Python django,如何在Q中使用计数

Python django,如何在Q中使用计数,python,django,django-admin,django-queryset,Python,Django,Django Admin,Django Queryset,我有以下型号: class Group(models.Model): group_name = models.CharField(max_length=16) class Member(models.Model): group = models.ForeignKey('Group') member_name = models.CharField(max_length=16) gender = models.BooleanField() #False is "

我有以下型号:

class Group(models.Model):

    group_name = models.CharField(max_length=16)

class Member(models.Model):

    group = models.ForeignKey('Group')
    member_name = models.CharField(max_length=16)
    gender = models.BooleanField() #False is "female", True is "male"
我怎样才能找到一个
没有
成员
,或者男性
成员
的数量为零

我尝试了以下方法,但无效:

Group.objects.filter( Q(member__isnull=True) |
                      Q(member__isnull=False) &
                      Q( Count(member__gender=True)=0 ) )
解决方案

Group.objects.filter(Q(member__isnull=True) | ~Q(member__gender=True))
当您试图获取可能返回多个结果的内容时,应该使用筛选器而不是get

如果要计算查询集,可以使用

Group.objects.filter(Q(member__gender=False )).count()

是的,过滤器是对的,但你的解决方案不起作用。我希望找到没有成员或其所有成员都是女性的“组”。(1)Group.objects.filter(Q(member\uu isnull=True)| ~Q(member\uu gender=True)).distinct(),您应该添加distinct。(2) 您的解决方案有一半是正确的,因为它不够健壮。如果我想要“男性会员为2”怎么办。(3) 但无论如何,它都是有效的,所以请记住你的答案是有用的。