Django filters - словарь фильтров наряду с Q-фильтрацией

У меня есть django запрос, который строится из URL get paramaters. Они строятся по словарю с именем 'filters':

filters['published_date__year'] = year
filters['published_date__week'] = week
filters['source__slug'] = source

queryset = Headline.objects.filter(**filters)

Я также хочу применить несколько фильтров AND к полю с именем 'tag'.

filter1 = Q(tags__slug=windows)
filter2 = Q(tags__slug=microsoft)

Где результаты будут отфильтрованы, чтобы показать только заголовки, в которых есть windows И microsoft.

Можно ли применять оба этих Q-фильтра наряду со стандартными?

Поздравления

Я делал нечто подобное в своем старом проекте, где я фильтровал набор пользовательских данных для двух атрибутов, содержащих пользовательские данные. Я думаю, что вы хотите использовать что-то вроде этого

results = Headline.objects.filter((Q(tags__slug=windows)) | Q(tags__slug=microsoft)))

где | используется для взятия объединения двух наборов запросов. Надеюсь, это поможет решить вашу проблему.

Вернуться на верх