Django在数据库中搜索

时间:2011-07-14 19:10:11

标签: python django

我将MySQL用于生产服务器,SQLite用于测试我的django应用程序的本地服务器。

我有一个这样的模型:

class Product(models.Model):
    name = models.CharField(max_length = 40)

我在我的应用程序中实现了搜索功能以搜索产品。 我使用这个命令:Product.objects.filter(name__contains = text)

但是通过这种方式,如果我搜索空格" ",应用程序会返回名称中带有空格的每个产品。它有点难看,如果我搜索单个字符,例如a,它将返回包含a的所有名称。有没有办法只搜索“单个完整单词”?

1 个答案:

答案 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)