Назад к вопросам
Middle
71
questionbank

Как в QuerySet использовать оператор 'или'?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Для логического оператора "или" в QuerySet используется объект Q.

# Пример использования оператора 'или'
from django.db.models import Q

# Получить объекты, у которых имя 'Alice' или возраст больше 30
queryset = MyModel.objects.filter(Q(name='Alice') | Q(age__gt=30))

Можно комбинировать Q объекты с другими фильтрами.

# Получить объекты, у которых имя 'Bob' и (город 'New York' или страна 'USA')
queryset = MyModel.objects.filter(name='Bob', Q(city='New York') | Q(country='USA'))

Также можно комбинировать несколько Q объектов.

# Получить объекты, у которых (имя 'Charlie' или возраст меньше 20) и город 'London'
queryset = MyModel.objects.filter(Q(name='Charlie') | Q(age__lt=20), city='London')