DjangoとPostgresqlプロジェクトで検索システムを作成しようとしていますが、クエリを作成しようとするとエラーが発生します。Django/Postgres - 指定された名前と引数の型に一致する関数がありません
私はシェルでこれらのコマンドを試してみてくださいたび:
vector = SearchVector('title','tags')
query = SearchQuery('book') | SearchQuery('harry')
My_Library.objects.annotate(similarity=TrigramSimilarity(vector,test),).filter(similarity__gt=0.3).order_by('-similarity')
私はエラーを取得する:
「いいえ関数は、指定した名前と引数の型と一致していないあなたは明示的な型キャストを追加する必要があるかもしれません。」
私はしばらくの間、他のオプションをテストしてきた、と私は成功し、エラーなしで検索クエリを渡すことができる唯一の方法は、クエリとベクトルの代わりに、2つの文字列を使用することです。
My_Library.objects.annotate(similarity=TrigramSimilarity('title','my search query'),).filter(similarity__gt=0.3).order_by('-similarity')
これはエラーなく正常に検索にパスします。
なぜこのエラーが発生し、どのように修正できますか?
私はこのFull Text Searchドキュメント
これを試してみると、「Qは定義されていません」と表示されます。それはどこから手に入りましたか? – Mathyou
django.db.modelsからインポートQ – MrE
https://docs.djangoproject.com/en/1.11/ref/models/querysets/#q-objects – MrE