Python django';s filter SearchFilter不是';t过滤结果,它将返回所有对象
我正在使用Django并试图通过SearchFilter过滤我的响应数据 问题是它返回给我所有的数据对象。就像根本没有过滤器一样 my views.py:Python django';s filter SearchFilter不是';t过滤结果,它将返回所有对象,python,django,api,filter,backend,Python,Django,Api,Filter,Backend,我正在使用Django并试图通过SearchFilter过滤我的响应数据 问题是它返回给我所有的数据对象。就像根本没有过滤器一样 my views.py: from autocomplete.models import Autocomplete from autocomplete.serializers import AutcompleteSerializer from rest_framework import generics from rest_framework.views imp
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
从autocomplete.models导入autocomplete
从autocomplete.Serializer导入AutcompleteSerializer
从rest_框架导入泛型
从rest_framework.views导入APIView
从django_filters.rest_框架导入DjangoFilterBackend
从rest_framework.filters导入OrderingFilter,SearchFilter
类AutocompleteListView(generics.ListAPIView):
序列化程序\u类=自动完成序列化程序
queryset=Autocomplete.objects.all()
过滤器\后端=(DjangoFilterBackend、SearchFilter、OrderingFilter)
筛选器_字段=(“IATA”、“IATAcity”)#<这正在工作
排序_字段=(“AirportName”)#<不工作
搜索字段=(“IATA”、“IATAcity”)#<不工作
在最后一条评论中,我们看到了可能的解决方案:
但是我真的不知道我应该把它贴在哪里
我做错了什么
谢谢 您可以更改
搜索\u字段
将tuble格式更改为列表找到解决方案:
确保在settings.py
上没有'SEARCH\u PARAM':'SOMETHING'