python - Django TrigramSimilarity 搜索没有提供这样的功能:SIMILARITY
问题描述
我正在尝试在我的 Django 项目中进行 TrigramSimilarity 搜索。
正如 django文档中所写,我已经完成了以下导入:from django.contrib.postgres.search import TrigramSimilarity
;
我还在文件的'django.contrib.postgres'
里面添加INSTALLED_APPS
了settings.py
。
该错误不会立即出现:Django TrigramSimilarity search gives no such function: SIMILARITY
一旦我对查询集执行某些操作,我就会收到此错误。例如,如果我想做一个简单的操作,比如 print(),就会出现错误。下面的代码是我所做的
articles = Article.objects.annotate(
similarity=TrigramSimilarity('name', search_str),
).filter(similarity__gt=0.3).order_by('-similarity')
print(articles) #that line causes the error (no such function: SIMILARITY)
我从字面上搜索了所有内容,但似乎以前没有人遇到过这个错误。我已经完全按照文档所说的做了->这里
也许还有另一种方法来做 TrigramSimilarity,但正如我在阅读文档之前所说的那样。
解决方案
我解决了手动创建一个重现 Trigramman Similarity Search 的函数。
推荐阅读
- r - RSQLite 只假装写入带有括号名称的数据库表
- sql - SQL 错误 [21000]:错误:用作表达式的子查询返回多条记录
- ios - 设置 UI 集合视图单元的约束
- .htaccess - 将域别名重定向到主域页面?
- angular - ngRx Store - Reducer 返回未定义 - store.select() 未定义
- python - 是否有可能在 ffmpeg 命令中引发错误?
- css - 绝对元素的水平定位
- netsuite - 以编程方式远程执行 SuiteScript
- node.js - Wix 和 Squarespace 如何能够为不同的域生成和提供 SSL?
- git - 'git diff' 的简写是什么,如果有的话?