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

Что такое оператор Q в Django ORM

Оператор Q в Django ORM позволяет создавать сложные SQL-запросы с использованием логических операторов (AND, OR, NOT). Он особенно полезен, когда нужно комбинировать условия в filter() или exclude().

Пример:

python
from django.db.models import Q

Ищем статьи, которые либо опубликованы, либо имеют заголовок "Важное"

Article.objects.filter(Q(published=True) | Q(title="Важное"))

Комбинирование условий

User.objects.filter(
Q(is_active=True) &
(Q(username__startswith='a') | Q(email__endswith='@example.com'))
)

text

Ключевые особенности:
- Поддерживает операторы `|` (OR), `&` (AND), `~` (NOT)
- Можно использовать для динамического построения запросов
- Работает с `filter()`, `exclude()`, `get()`
- Позволяет создавать более читаемые запросы по сравнению с обычными цепочками `filter()`
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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