如何在django-rest框架中同时实现多个搜索过滤器API?

时间:2017-01-05 12:46:38

标签: python django filter django-rest-framework

我正在研究高级搜索功能,搜索功能的apis是

  1. 要搜索的单词集
  2. 确切的字词或短语
  3. 任何单词
  4. 这些话都不是
  5. 我必须使用这些API过滤查询集,并立即使用所有API,并通过引用链接开发了单个搜索字段API

    Django rest-framework过滤器

    搜索字段的代码

     class JournalListView(generics.ListAPIView):
        queryset = Journal.objects.all()
        serializer_class = JournalSerializer
        pagination_class = JournalPagination
        filter_backends = (SearchFilter,)
        filter_fields = ('title','abstract')
        search_fields = ('@title', '@abstract')
    

    任何帮助都将不胜感激....

1 个答案:

答案 0 :(得分:0)

我正在使用django-filter(https://github.com/carltongibson/django-filter)。

为您的模型创建过滤器。 然后,您可以使用

这样的查询过滤数据
API_URL/?field__exact=value

DRF的相关文档: https://django-filter.readthedocs.io/en/master/guide/rest_framework.html