Как объединить наборы запросов из одной модели

Я хочу объединить (|) серию QuerySets:all_english_text в цикле:

    tag_result = Tag.objects.get(id=all_tag[index])

    all_english_text = tag_result.notes.all().values('english_text', 'id')

следующим образом:

def list_by_tag_post(request):

# get POST
all_tag = request.POST.getlist('tag_list')

for index in range(len(all_tag)):
    tag_result = Tag.objects.get(id=all_tag[index])

    all_english_text = tag_result.notes.all().values('english_text', 'id')
    result = list(chain(*all_english_text)) # Merging method

all_english_text = result

# to template
context = {'all_english_text': all_english_text, 'all_tag': all_tag}
return render(request, 'list_by_tag.html', context)

Было испробовано 3 метода, все они не сработали:

result = list(chain(*all_english_text)) # Merging method 1
result = chain(*all_english_text) # Merging method 2
result = all_english_text.union(*all_english_text))# Merging method 3

Это должно быть возможно в одном запросе.

Не зная, что такое Tag.notes это может быть не совсем верно. Я предполагаю, что это обратная зависимость от ForeignKey на модели Note (Note.tag)

all_english_text = Note.objects.filter(tag_id__in=all_tag).values('english_text', 'id')
Вернуться на верх