Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django';s filter SearchFilter不是';t过滤结果,它将返回所有对象_Python_Django_Api_Filter_Backend - Fatal编程技术网

Python django';s filter SearchFilter不是';t过滤结果,它将返回所有对象

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

我正在使用Django并试图通过SearchFilter过滤我的响应数据

问题是它返回给我所有的数据对象。就像根本没有过滤器一样

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

从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'