重音不敏感搜索 django sqlite

2023-12-29

我正在使用 sqlite 和 django。我正在尝试使用非重音搜索查询来搜索存储在 sqlite 数据库中的重音字符串。

例如:当数据库包含“Río Grande”时,搜索“Rio Grande”。

我发现这个帖子SQLite 不区分重音的搜索 https://stackoverflow.com/questions/14009261/sqlite-accent-insensitive-search其中提到首先创建一个collation然后使用调用搜索查询COLLATE NOACCENTS

这正是我所需要的。但是我不知道如何使用 django 模型来做到这一点。有什么建议么?

正如这篇关于 django 文档的 Postgres 特定帖子中所建议的:PostgreSQL 特定查找 https://docs.djangoproject.com/en/dev/ref/contrib/postgres/lookups/#std:fieldlookup-unaccent我尝试了以下方法:

myObject.objects.filter(locationTuple__unaccent__contains='Rio Grande')

但出现以下错误:FieldError: Unsupported lookup 'unaccent' for CharField or join on the field not permitted.这是可以理解的,因为此查找可能不适用于 sqlite。


我认为这是您将找到的最接近的东西,但是,它需要一些开发工作:

https://github.com/djcoin/django-unaccent https://github.com/djcoin/django-unaccent

我也很嫉妒,因为我的工作场所也不在 PostgreSQL 上(还)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

重音不敏感搜索 django sqlite 的相关文章

随机推荐