首页 > 解决方案 > 如何在 Django 中使用部分完全匹配进行搜索

问题描述

表定义:

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

2条记录在数据库中:

#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?

标签: djangofiltermodel

解决方案


而不是像这样icontains使用iexact

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

Q如果您只过滤一个字段,则不需要使用


推荐阅读