Я не верю, что возможно сделать то, что вы просите.
То, как вы делаете OR в Django, выглядит следующим образом:
Model.objects.filter(Q(question__startswith='Who') | Q(question__startswith='What'))
так что, если вы действительно хотите сделать это:
Model.objects.filter(Q(language='de') | Q(language='en'))
вам нужно будет поместить их обоих в один и тот же вызов filter (), чтобы вы не смогли добавить другое или предложение в последующем вызове filter ().
Я думаю, что причина, по которой вы, возможно, пытаетесь это сделать, заключается в том, что вас беспокоит повторное попадание в базу данных, но единственный способ получить точные результаты - это снова попасть в базу данных.
Если вы просто заинтересованы в создании чистого, СУХОГО кода, вы можете поместить все фильтры, которые являются общими для обоих запросов, вверху, а затем «разветвлять» этот набор запросов позже, например:
shared_qs = Model.objects.filter(active=True)
german_entries = shared_qs.filter(language='de')
german_and_english = shared_qs.filter(Q(language='de') | Q(language='en'))