这是我的代码。我没有收到任何错误,并且可以看到添加到可浏览 API 中的搜索按钮。但问题是搜索不起作用。无论我在搜索中输入什么,它都会返回每个对象。
from rest_framework import status, filters
class JobView(GenericAPIView):
serializer_class = JobSerializer
filter_backends = [filters.SearchFilter]
search_fields = ['name']
def get_queryset(self):
return Job.manager.all()
def get(self, request, format=None):
queryset = self.get_queryset()
if queryset.exists():
serializer = JobSerializer(queryset, many=True)
return Response(serializer.data)
else:
return Response({"Returned empty queryset"}, status=status.HTTP_404_NOT_FOUND)
Run Code Online (Sandbox Code Playgroud)
终点
http://localhost:8000/jobs/?search=something
returns the same as
http://localhost:8000/jobs/
Run Code Online (Sandbox Code Playgroud)
无论我在搜索字符串中输入什么,它都会返回职位。