Djanjo с Rest Framework и Postgres поиск
Мне нужно сделать поиск для поиска некоторых данных из базы данных, и это поле поиска должно поддерживать некоторые логические операции. Такие как AND, OR, NOT и т.д.
Так я обнаружил, что в Postgres db есть то, что мне нужно. В документации Ad Django говорится, что нам нужно использовать SearchQuery с параметром search_type='websearch'
.
И у нас есть что-то вроде
SearchQuery("'tomato' ('red' OR 'green')", search_type='websearch') # websearch operators
Когда я пытался реализовать в своем проекте, я сделал что-то вроде этого
# views.py
class DataSearch(generics.ListAPIView):
serializer_class = DataSerializer
def get_queryset(self):
queryset = Data.objects.all()
query = self.request.query_params.get('query')
if query is not None:
queryset = queryset.filter(
search_vector = SearchQuery(
query,
search_type='websearch'
)
)
return queryset
Но когда я пытаюсь запустить его, я получаю
Не удается преобразовать ключевое слово 'search_vector' в поле. Варианты: data, foo, foo_id
.
Итак, что я должен сделать, чтобы это работало и чтобы сделать конечную точку API для этого типа поиска?