我正在尝试构建搜索我正在构建的Django网站,并且在搜索中我搜索了3种不同的模型。为了在搜索结果列表中获得分页,我想使用通用的object_list视图来显示结果。但为了做到这一点,我必须将3个查询集合并成一个。 我怎样才能做到这一点?我试过这个: 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和post_list? 将查询集连接到列表是最简单的方法。如果数据库无论如何都会针对所有查询集(例如,因为结果需要排序),这不会增加额外的成本。 from itertools import chain result_list