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 для этого типа поиска?

Вернуться на верх