Tag: django q

如何在Django中dynamic组合一个OR查询filter?

从一个例子中你可以看到一个多重查询filter: Article.objects.filter(Q(pk=1) | Q(pk=2) | Q(pk=3)) 例如,这导致: [<Article: Hello>, <Article: Goodbye>, <Article: Hello and goodbye>] 但是,我想从列表中创build此查询filter。 怎么做? 例如[1, 2, 3] -> Article.objects.filter(Q(pk=1) | Q(pk=2) | Q(pk=3))

如何在Django视图中组合2个或更多的查询集?

我试图build立一个Django网站的search我正在build设,并在search我在3个不同的模型search。 为了在search结果列表上得到分页,我想使用通用的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") 但是这不起作用当我尝试在通用视图中使用该列表时,出现错误。 该列表缺less克隆属性。 任何人都知道我可以如何合并三个列表, page_list , […]