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

Зачем нужен класс Q

Класс Q в Django используется для создания сложных запросов с помощью объектов, объединяющих условия через логические операторы (AND, OR, NOT). Он позволяет строить динамические запросы, которые сложно выразить стандартными методами фильтрации.

Пример:

python
from django.db.models import Q
from myapp.models import Product

# Ищем продукты, которые дешевле 100 или дороже 500
products = Product.objects.filter(Q(price__lt=100) | Q(price__gt=500))

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

  • Комбинирование условий (&, |, ~ для NOT).
  • Использование в аннотациях и агрегациях.
  • Читаемость и гибкость запросов.

Без Q пришлось бы писать сырой SQL или делать несколько запросов.

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

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

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

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