Что такое QuerySet в Django?

Middle
346 просмотров
AFK Offer AI

QuerySet — ленивый набор объектов из БД. Запрос не выполняется пока не начнёшь итерировать, вызовешь len(), bool(), list() или slice. Chainable: User.objects.filter(age__gt=18).exclude(name="test").order_by("-created") — каждый метод возвращает новый QuerySet. Кэшируется после первого выполнения. values()/values_list() — вернуть dict/tuple вместо объектов. annotate()/aggregate() — агрегации. exists() — эффективная проверка наличия (SELECT 1 LIMIT 1). count() — COUNT(*) без загрузки объектов.

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

Как работает routing в Python web-фреймворках?