12
Djangoビューで2つ以上のクエリセットを組み合わせる方法は?
私は構築している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': …