Back to questions
Junior — Middle
65
Каким образом можно выполнить логическую операцию OR при формировании запросов в Django ORM?
Answer from AI
sobes.tech AI
В Django ORM для выполнения логической операции OR между условиями используется класс Q из модуля django.db.models. Он позволяет комбинировать условия с помощью операторов | (OR) и & (AND).
Пример использования OR:
from django.db.models import Q
# Получить объекты, где поле 'status' равно 'active' ИЛИ поле 'age' больше 30
results = MyModel.objects.filter(Q(status='active') | Q(age__gt=30))
Здесь Q(status='active') | Q(age__gt=30) означает, что будут выбраны записи, удовлетворяющие хотя бы одному из условий.
Без использования Q все условия в filter() объединяются через AND, поэтому для OR нужно именно Q.