Djanjo with Rest Framework and Postgres search

Viewed 33

I need to make search for looking some data from database and this search field should support some logical operations. Like AND, OR, NOT and so on.

So I found that Postgres db has something that I need. Ad Django documentation saying to us we need to use SearchQuery with parameter search_type='websearch' And we have something like

SearchQuery("'tomato' ('red' OR 'green')", search_type='websearch')  # websearch operators

When I'm tried to implement to my project I did something like that

# 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

But when I'm trying to run it I get

Cannot resolve keyword 'search_vector' into field. Choices are: data, foo, foo_id

So what I should do to make it work and to make API endpoint for this type of search?

0 Answers
Related