Фильтр django SearchFilter не фильтрует результаты, он возвращает мне все объекты - PullRequest
1 голос
/ 16 октября 2019

Я использую Django и пытаюсь отфильтровать данные моего ответа по SearchFilter

http://localhost:8000/autocomplete/a/?search=Something

проблема в том, что он возвращает мне все объекты данных. как будто вообще не было фильтра

http://localhost:8000/autocomplete/a/

my views.py:


from autocomplete.models import Autocomplete
from autocomplete.serializers import AutcompleteSerializer
from rest_framework import generics
from rest_framework.views import APIView
from django_filters.rest_framework import DjangoFilterBackend
from rest_framework.filters import OrderingFilter, SearchFilter


class AutocompleteListView(generics.ListAPIView):
    serializer_class = AutcompleteSerializer
    queryset = Autocomplete.objects.all()
    filter_backends = (DjangoFilterBackend, SearchFilter, OrderingFilter)
    filter_fields = ("IATA", "IATAcity") # < this is working
    ordering_fields = ("AirportName") # < not working
    search_fields = ("IATA", "IATAcity") # < not working

видел возможное решение здесь, в последнемкомментарий:

Django REST - SearchFilter не фильтрует

, но на самом деле не получил, куда именно я должен его опубликовать.

чтоя делаю неправильно?

спасибо !!

Ответы [ 2 ]

0 голосов
/ 16 октября 2019

нашел решение:

убедитесь, что на settings.py у вас нет 'SEARCH_PARAM': 'SOMETHING' !!

0 голосов
/ 16 октября 2019

вы можете изменить свой search_fields формат таблицы на список

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...