Sobes.tech
Back to questions
Junior — Middle
64

Каким образом в Django реализовать операцию группировки данных по определённым полям?

Answer from AI

sobes.tech AI

В Django для группировки данных по определённым полям используется метод values() или values_list() вместе с annotate() из ORM.

Например, если есть модель Order с полем status и нужно посчитать количество заказов по каждому статусу:

from django.db.models import Count

Order.objects.values('status').annotate(count=Count('id'))

Это вернёт QuerySet словарей, где каждый словарь содержит статус и количество заказов с этим статусом.

Таким образом, values() определяет поля для группировки, а annotate() — агрегатные функции, применяемые к каждой группе.