🔗 Ресурсы: Практикум 6
⚡ Ключевые ссылки
- Django: Aggregation — aggregate() и annotate()
- Django: order_by()
- Django: ExpressionWrapper
- Django: Timezones
Официальная документация Django 5.x
Агрегация
-
Aggregation — Django 5.0
— подробное руководство по
aggregate()иannotate(), примеры GROUP BY, фильтрация аннотаций - Агрегирующие функции: Count, Sum, Avg, Min, Max
F-объекты и выражения
- F() expressions — ссылки на поля модели в запросах
- ExpressionWrapper — обёртка сложных выражений с явным output_field
- DurationField — поле для хранения разницы дат (timedelta)
QuerySet API
- order_by()
- Limiting QuerySets (срезы) — аналог LIMIT/OFFSET
- values() — QuerySet.values()
Временные метки и timezone
Дополнительно
- Related objects — Django 5.0 — доступ к связанным объектам через __, ForeignKey, related_name
- Field lookups (__gte, __lte, __year, __month, ...)
Связанные уроки курса
- ← Урок 26: ORM ч.2 + основы DRF — теория aggregate/annotate, ExpressionWrapper
- ← Урок 22: Django ORM запросы — filter, Q, F, select_related