Junior — Middle
Como implementar uma operação de agrupamento de dados por campos específicos no Django?
sobes.tech IA
Resposta da IA
В 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() — агрегатные функции, применяемые к каждой группе.