firstQ = [
Q(...),
Q(...),
Q(...)
]
import functools
functools.reduce(lambda a, b: a & b, Qrelationship)
Или, в моем случае, мне нужно И для разных наборов фильтров:
firstQ = [
Q(...),
Q(...),
Q(...)
]
secondQ = [
Q(...),
Q(...),
Q(...)
]
import functools
combined = functools.reduce(lambda a, b: a | b, [
functools.reduce(lambda a, b: a & b, firstQ),
functools.reduce(lambda a, b: a & b, secondQ)
])
myqueryset = Model.objects.filter(combined)
# Make sure you apply the Q's first (BEFORE any other filter) or it will fail silently