python - Django 在数据库中搜索

标签 python django

我使用 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/

相关文章:

python - 如何将azure事件网格中的事件发布到python中的主题?

python - 直方图上的瑞利分布曲线

python - Django:整数字段上的 order_by 和过滤器

django - 外键关系的 GeoDjango 距离查询

python - 从 python 中的两个列表创建 Pandas df

python - 如何在 matplotlib 中的 Pandas 条形图上添加一条线?

python - 查询集对象

python - Django 将 Haystack 荧光笔结果传递给 View

python - 在 Django 中为 ubuntu 11.10 设置 Postgresql 9.1 数据库

python - 登录 Django 后无法将用户重定向到下一页