我正在使用 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(使用前将#替换为@)