Ich versuche, ein Suchsystem in meinem Django und Postgresql-Projekt zu erstellen, aber ich laufe immer auf einen Fehler, wenn ich versuche, eine Abfrage zu machen.Django/Postgres - Keine Funktion entspricht dem angegebenen Namen und Argumenttypen
Immer, wenn ich diese Befehle in der Shell versuchen:
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')
erhalte ich die Fehlermeldung: „Keine Funktion entspricht den angegebenen Namen und Argumenttypen Sie können explizite Typ wirft hinzufügen müssen.“
Ich habe eine Zeit lang andere Optionen getestet, und der einzige Weg, ich erfolgreich eine Suchabfrage ohne einen Fehler ist die Verwendung von zwei Strings an der Stelle der Abfrage und Vektor passieren kann.
My_Library.objects.annotate(similarity=TrigramSimilarity('title','my search query'),).filter(similarity__gt=0.3).order_by('-similarity')
Dies wird erfolgreich meine Suche ohne Fehler übergeben.
Warum erhalte ich diesen Fehler und wie kann ich ihn beheben?
Ich habe meinen Code wurde stütze diese Full Text Search Dokumentation aus
Wenn ich das versuche, bekomme ich "Q ist nicht definiert." Woher hast du das? – Mathyou
von django.db.models import Q – MrE
https://docs.djangoproject.com/de/1.11/ref/models/querysets/#q-objects – MrE