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() — агрегатные функции, применяемые к каждой группе.