Встречается на собеседованиях • сегодня

Что такое ленивые запросы в Django

Ленивые (lazy) запросы в Django — это отложенное выполнение QuerySet до момента, когда данные реально понадобятся. QuerySet не выполняет запрос к БД, пока не будет вызвана операция, требующая данных (например, итерация, срез, вызов list() или len()).

Преимущества:

  • Оптимизация — можно строить сложные цепочки фильтров без лишних запросов
  • Гибкость — можно динамически модифицировать запрос до его выполнения

Пример:

python
# Запрос не выполнен
users = User.objects.filter(is_active=True)

# Добавляем условие — запрос всё ещё не выполнен
active_admins = users.filter(is_admin=True)

# Только здесь произойдёт реальный запрос к БД
for user in active_admins:
    print(user.username)

Важно: некоторые операции (например, count(), exists()) выполняют запрос немедленно.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы