Как ограничить количественно выборку с помощью метода QuerySet
Python
Senior
Без компании
Как ограничить количественно выборку с помощью метода QuerySet
Ответы
Для ограничения количества записей в QuerySet можно использовать методы `[:n]` (срез) или `all()[:n]`. Также есть метод `iterator()`, но он не ограничивает количество, а оптимизирует итерацию.
Пример с срезом:
```
# Получить первые 5 записей
limited_queryset = MyModel.objects.all()[:5]
```
Метод `QuerySet` ленивый, поэтому срез не выполняет запрос сразу. SQL добавит LIMIT:
```
SELECT * FROM myapp_mymodel LIMIT 5;
```
Важно: отрицательные срезы (`[-5:]`) не поддерживаются. Для этого используйте комбинацию с `order_by()`:
```
last_five = MyModel.objects.order_by('-id')[:5]
```