How to query as GROUP BY in django?

前端 未结 9 1533
别跟我提以往
别跟我提以往 2020-11-22 05:40

I query a model:

Members.objects.all()

And it returns:

Eric, Salesman, X-Shop
Freddie, Manager, X2-Shop
Teddy, Salesman, X2         


        
9条回答
  •  忘掉有多难
    2020-11-22 06:03

    If you mean to do aggregation you can use the aggregation features of the ORM:

    from django.db.models import Count
    Members.objects.values('designation').annotate(dcount=Count('designation'))
    

    This results in a query similar to

    SELECT designation, COUNT(designation) AS dcount
    FROM members GROUP BY designation
    

    and the output would be of the form

    [{'designation': 'Salesman', 'dcount': 2}, 
     {'designation': 'Manager', 'dcount': 2}]
    

提交回复
热议问题