python - django,如何在 Q 中使用计数

标签 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 "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))

当您尝试获取可能返回多个结果的内容时,您应该使用filter而不是get

如果你想统计查询集,你可以使用,

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

关于python - django,如何在 Q 中使用计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31352502/

相关文章:

python - 将每个对象的权限添加到 django admin

python - python 中是否有用于写入文件的 COMMIT 模拟?

python - 如何解压一个对象,因为它是 for 循环中的一个元组?

javascript - Django - 在获取 POST 后显示 Jsonresponse

python - Django:如何计算一个查询集并返回一个切片而不两次击中数据库?

python - 在 Django 模板中创建排序选项

Django 1.11 管理表单将搜索框添加到 oneToOne 字段

python - 如何在 python 中一起传递默认和可变长度参数?

python - 用于Python变量初始化

javascript - Django 和 d3.js : CSV data