Кажется, что метод фильтра объектной модели Django автоматически использует И ключевое слово SQL.
Например:
>>> Publisher.objects.filter(name__contains="press", country__contains="U.S.A")
автоматически переведет во что-то как:
SELECT ...
FROM publisher
WHERE name LIKE '%press%'
AND country LIKE '%U.S.A.%'
Однако я задавался вопросом, был ли способ сделать это 'И' 'ИЛИ'? Я, может казаться, не нахожу его в документации (достаточно странно, ища, 'или' не действительно полезно).
Вы можете использовать Q объектов , чтобы делать то, что вы хотите, путем побитового ИЛИ их вместе:
from django.db.models import Q
Publisher.objects.filter(Q(name__contains="press") | Q(country__contains="U.S.A"))