使用Django中的过滤器构建自定义查询

时间:2016-03-10 09:59:18

标签: python django django-views

我尝试根据模板中的某些过滤器在django中创建自定义查询。应与View tickets section from Django official website

类似

我的模板应该在“过滤器”部分中为预定义列提供一些输入,并且基于给定的值应该过滤结果。

see capture here

我发现了一些与Q对象相关的主题,但我不确定如何根据UI中的值构建查询。

你有什么想法吗?

2 个答案:

答案 0 :(得分:1)

Q对象用于SQL OR和AND例如

Select * From Country Where Country_Name LIKE "India" OR Country_Name LIKE "Pakistan"

Q(question__startswith='Who') | Q(question__startswith='What')

这相当于以下SQL WHERE子句:

WHERE question LIKE 'Who%' OR question LIKE 'What%'

https://docs.djangoproject.com/en/1.9/topics/db/queries/#complex-lookups-with-q-objects

答案 1 :(得分:0)

我们已经为django-advanced-filters的django管理员实施了一个类似于您建议的查询构建器。

您可以复制粘贴表单和相关模板,以获得管理员之外的类似效果。