私が構築している Django サイトの検索を構築しようとしています。その検索では、3 つの異なるモデルで検索しています。また、検索結果リストのページネーションを取得するには、一般的な object_list ビューを使用して結果を表示したいと考えています。しかし、そのためには、3 つのクエリセットを 1 つにマージする必要があります。
どうやってやるの?私はこれを試しました:
result_list = []
page_list = Page.objects.filter(
    Q(title__icontains=cleaned_search_term) |
    Q(body__icontains=cleaned_search_term))
article_list = Article.objects.filter(
    Q(title__icontains=cleaned_search_term) |
    Q(body__icontains=cleaned_search_term) |
    Q(tags__icontains=cleaned_search_term))
post_list = Post.objects.filter(
    Q(title__icontains=cleaned_search_term) |
    Q(body__icontains=cleaned_search_term) |
    Q(tags__icontains=cleaned_search_term))
for x in page_list:
    result_list.append(x)
for x in article_list:
    result_list.append(x)
for x in post_list:
    result_list.append(x)
return object_list(
    request,
    queryset=result_list,
    template_object_name='result',
    paginate_by=10,
    extra_context={
        'search_term': search_term},
    template_name="search/result_list.html")
しかし、これはうまくいきません。汎用ビューでそのリストを使用しようとすると、エラーが発生します。リストにクローン属性がありません。
page_list、article_listおよびの 3 つのリストをマージするにはどうすればよいpost_listですか?