QuerySet в Django

QuerySet — это объект, который представляет коллекцию записей из базы данных. Он предоставляет интерфейс для фильтрации, сортировки и получения данных.

Основные методы QuerySet

  • all() — получить все записи
  • filter() — фильтрация записей
  • exclude() — исключение записей
  • order_by() — сортировка
  • get() — получение одной записи
  • first() — первая запись
  • count() — количество записей

Примеры использования

 1# Получить все статьи
 2articles = Article.objects.all()
 3
 4# Фильтрация
 5published_articles = Article.objects.filter(is_published=True)
 6
 7# Сортировка
 8recent_articles = Article.objects.order_by('-created_at')
 9
10# Цепочка методов
11articles = Article.objects.filter(
12    is_published=True
13).order_by('-created_at')[:5]

Ленивые вычисления

QuerySet использует ленивые вычисления — запрос к базе данных выполняется только тогда, когда данные действительно нужны.

Установка и настройка

Для работы с QuerySet установи Django:

1# Установка через pip
2pip install django
3
4# Установка через poetry
5poetry add django

FAQ

Как оптимизировать запросы QuerySet?

Используй select_related() и prefetch_related() для оптимизации запросов со связанными объектами.