如何在Django中使用部分完全匹配进行搜索

表定义:

class Hello(models.Model):
  name models.CharField(max_length=64,blank=True)

2条记录在db中:

#1 aaaa-bbbb (cd)
#2  aaa-bbbb (cef)

搜索关键字:'aaa-bbbb'或'aaa-bbbb(c',

ret = models.Hello.objects.filter(Q(name__icontains='aaa-bbbb'))

预期结果为#2,但找到2条记录。

如何找到#2?

wangjingjun2007 回答:如何在Django中使用部分完全匹配进行搜索

像这样使用icontains代替iexact

ret = models.Hello.objects.filter(name__iexact='aaa-bbbb')

如果仅通过一个字段进行过滤,则无需使用Q

本文链接:https://www.f2er.com/3134191.html

大家都在问