ORM分组查询复杂查询

记录一下自己在工作中遇到的一个问题,就是根据一个字段分类,然后还要统计这个字段不同状态的数量,这里我举个例子

 

假如有好多学生,这些学生来自不同的班级,现在我们要统计每一个班级中男生和女生的数量

 

def list(self, request):
    res = Student.objects.filter(**kwargs).values('class').annotate(
    boy=Count('name', distinct=True, filter=Q(sex='')),
    girl=Count('name', distinct=True, filter=Q(sex=''))).values(
    'class', 'boy', 'girl')

 

posted @ 2021-11-24 14:35  长情不羁的五年  阅读(61)  评论(0编辑  收藏  举报