查询 Django 模型时,可能会遇到需要执行 group by 操作的场景。尝试像在 SQL 中那样使用 .group_by() 会导致错误。
Django 提供了允许您执行复杂查询的聚合方法,而不是使用 .group_by()涉及分组。具体来说,Count 对于计算特定字段的出现次数非常有用。
要按指定对结果进行分组并计算出现次数,您可以使用以下代码:
from django.db.models import Count result = (Members.objects .values('designation') .annotate(dcount=Count('designation')) .order_by() )
此查询类似于以下 SQL 语句:
SELECT designation, COUNT(designation) AS dcount FROM members GROUP BY designation
Django 查询的输出将格式为:
[{'designation': 'Salesman', 'dcount': 2}, {'designation': 'Manager', 'dcount': 2}]
以上是如何在 Django 中执行 Group By 查询?的详细内容。更多信息请关注PHP中文网其他相关文章!