Какие знаешь методы из Django ORM
Python
Middle
Без компании
Какие знаешь методы из Django ORM
Ответы
Django ORM предоставляет множество методов для работы с базами данных. Основные категории:
**Методы QuerySet:**
- `filter()` - фильтрация записей
- `exclude()` - исключение записей
- `get()` - получение одной записи
- `all()` - все записи модели
- `order_by()` - сортировка
- `values()` - словарь вместо объектов
- `annotate()` - добавление агрегатных полей
- `aggregate()` - агрегатные вычисления
**Методы агрегации:**
- `Count()`, `Sum()`, `Avg()`, `Min()`, `Max()`
**Методы для работы с отношениями:**
- `select_related()` - JOIN для ForeignKey
- `prefetch_related()` - оптимизация ManyToMany
Пример:
```
from django.db.models import Count
# Получить активных пользователей с количеством заказов
users = User.objects.filter(
is_active=True
).annotate(
orders_count=Count('orders')
).order_by('-orders_count')
```