Как получить подсчет более чем одного поля из таблицы с помощью Django queryset

вот мой набор запросов

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
}
]

используйте эту ссылку для получения помощи. GROUB BY ... COUNT/SUM Django ORM эквивалент

https://riptutorial.com/django/example/30595/groub-by-----count-sum-django-orm-equivalent

Мы можем выполнить GROUP BY ... COUNT или GROUP BY ... SUM SQL эквивалентные запросы на Django ORM, с использованием annotate(), values(), order_by() и методов Count и Sum от django.db.models, соответственно:

Вернуться на верх