这是我的查询集
queryset = (PrathamTeamMembers.objects.
select_related('state', 'district', 'block', 'personnel_type').
filter(is_active=1).
annotate(total_state=Count('state', distinct=True),
total_district=Count('district', distinct=True)))
我期待与
相似的结果{
"total_state": 10
"total_district": 60
}
但是它不是聚合,而是按表PrathamTeamMembers
主键分组。这是我想避免的因为它是在表主键上分组,所以我的查询集给出的结果类似于..
[{
"total_state": 1,
"total_district": 1
},
{
"total_state": 1,
"total_district": 1
},
{
"total_state": 1,
"total_district": 1
}
]
使用此链接寻求帮助。grob by…COUNT/SUM
https://riptutorial.com/django/example/30595/groub-by--count-sum-django-orm-equivalent
我们可以执行GROUP BY…计数或组按…在Django ORM上使用annotate()、values()、order_by()和Django .db. SQL . SQL . SQL . SQL . SQL模型的Count和Sum方法: