Я использую django 1.10
Я создал этот запрос, который работает для меня:
filters_qs = filters_qs.filter(
Q(
user__in=[cache.user for cache in caches],
status_id__in=[Status.Open['id'], Status.Empty['id']],
revision=0
) |
Q(
user=None,
status_id__in=[Status.Open['id'], Status.Empty['id']],
revision=0
)
)
Я использовал 'ИЛИ', потому что я ищу результат, гденабор запросов отсутствует или находится в списке.Но - это выглядит не так "питонно" ... он повторяет тот же код для незначительных изменений.Есть ли другой способ?например, что-то вроде - (не работает)
Q(
user__in=[cache.user for cache in caches] + [None],
status_id__in=[
Status.Open['id'],
Status.Empty['id']
],
revision=0
)
Спасибо.