Mat*_*ips 3 django search django-models
我在我的django应用程序中有一个模型,我想创建一个搜索表单.有没有办法使用相同的搜索字符串一次搜索模型中的所有字段?我已经研究过xapian和solr,但是对于搜索1个模型来说,它们似乎有很多开销.我想能够说出类似的话:
results = Assignment.objects.filter(any_column = search_string)
Run Code Online (Sandbox Code Playgroud)
我意识到可能没有简洁的东西,但现在除了使用搜索应用程序之外我唯一可以选择的方法是分别检查每个字段并将结果连接在一起.
Ign*_*ams 12
一旦你把所有的字段名,你可以创建Q对象使用kwarg扩展和使用reduce()以及operator.or_将它们变成一个单一的查询.
qgroup = reduce(operator.or_, (Q(**{fieldname: value}) for fieldname in fieldnames))
asgns = Assignment.objects.filter(qgroup)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3433 次 |
| 最近记录: |