我有以下模型:
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"
如何找到没有Member
的Group
,或者男性Member
的数量为零?
我尝试了以下操作,但没有成功:
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))
当你试图获取可能返回多个结果的东西时,你应该使用filter而不是get
如果要对查询集进行计数,可以使用
Group.objects.filter(Q(member__gender=False )).count()