我将MySQL用于生产服务器,SQLite用于测试我的django应用程序的本地服务器。
我有一个这样的模型:
class Product(models.Model):
name = models.CharField(max_length = 40)
我在我的应用程序中实现了搜索功能以搜索产品。
我使用这个命令:Product.objects.filter(name__contains = text)
但是通过这种方式,如果我搜索空格" "
,应用程序会返回名称中带有空格的每个产品。它有点难看,如果我搜索单个字符,例如a
,它将返回包含a
的所有名称。有没有办法只搜索“单个完整单词”?
答案 0 :(得分:3)
https://docs.djangoproject.com/en/1.3/ref/models/querysets/#regex
http://docs.python.org/library/re.html
pattern= r"\b%s\b" % text
Product.objects.filter(name__regex = pattern)