我有一个填充db数据的表。现在我正在创建搜索表单。哪个搜索我想要的所有内容,但前提是我给它完全匹配db中匹配值的字符串。例如,我在搜索中键入审核,它将搜索:
qs = Model.objects.filter(status=review)
然后我返回带响应的数据,我的Vue页面按照我想要的方式呈现它。 我是选择字段,审查,注册,取消等。但是用户可以将它们视为审阅,注册等。因此它们不匹配,用户将键入Reviewing,这将返回空qs。此外,我想搜索用户类型' viewi'后查找结果。有没有办法通过django服务器端进行,因为我无法在文档中找到信息
答案 0 :(得分:0)
我刚刚找到了解决方案。您需要将__icontains添加到过滤器中的ur字段的末尾。在我的情况下,它看起来像:
qs = Model.objects.filter(status__icontains=query)
这将是sql代码
WHERE status ILIKE %query%
答案 1 :(得分:0)
我完全不了解你的问题,我猜你应该看的是Django的Q(),你可以用查询集进行复杂的数据库查询。
检查此页面。 https://docs.djangoproject.com/en/1.7/topics/db/queries/#complex-lookups-with-q
一个简单的例子是这样的: 你想要的是:
select * from Model where status like '%view%
返回所有审核或查看或审核为状态值的行。
使用Q()可以像
一样Model.objects.get(status__icontains='view')