我使用 MySQL 作为生产服务器,使用 SQLite 作为 django 应用程序的测试本地服务器。
我有一个这样的模型:
class Product(models.Model):
name = models.CharField(max_length = 40)
我在我的应用程序中实现了用于搜索产品的搜索功能。
我使用这个命令:Product.objects.filter(name__contains = text)
但是这样,如果我搜索空格 ""
,应用程序会返回名称中带有空格的每个产品。它有点难看,而且如果我搜索单个字符,例如 a
,它会返回包含 a
的所有名称。有没有办法只搜索“单个完整单词”?
最佳答案
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)
关于python - Django 在数据库中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6698661/