Встречается на собеседованиях • сегодня

Как в Django выполнить GROUP BY

В Django GROUP BY выполняется с помощью методов annotate() и values() QuerySet.

Пример:

python
from django.db.models import Count
from myapp.models import Book

# Группировка по полю 'author' с подсчётом количества книг
result = Book.objects.values('author').annotate(total=Count('id'))

Различия:

  • values('field') указывает поля для группировки
  • annotate() добавляет агрегацию (Count, Sum, Avg и др.)

Важно: порядок методов имеет значение! Сначала values(), затем annotate().

Для более сложных группировок можно использовать F()-выражения или кастомные SQL через extra().

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы