小编ben*_*don的帖子

为什么我的 Django Rest Framework 搜索过滤器不起作用?

这是我的代码。我没有收到任何错误,并且可以看到添加到可浏览 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)

无论我在搜索字符串中输入什么,它都会返回职位。

django filter django-rest-framework

3
推荐指数
1
解决办法
3606
查看次数

标签 统计

django ×1

django-rest-framework ×1

filter ×1