使用OR进行数据库查询

时间:2011-08-18 22:45:02

标签: django

我想实现一个搜索框,它返回与至少一个术语相关的所有结果。换句话说,一个查询的术语由OR分隔。

例如:

Input: tomatoes potatoes watermelons
Query: tomatoes OR potatoes OR watermelons in db
Output: corresponding results

优选地,但不是必须的,如果所有结果中都包含一个术语,它应该是第一个或第一组。

我在Google上查了一下,但我无法修改我found的示例。如果我用get_query替换query = query | or_query中的最后一行,我会在模板中出错。我想这是因为Django执行的查询的惰性评估,因为如果我逐字地使用链接中的代码,模板就可以工作。

1 个答案:

答案 0 :(得分:1)

我猜你正在寻找Q objects。但实际上,如果你正在做与搜索相关的任何事情,你应该尝试django-haystack