飞行的猪哼哼

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

官方文档地址:

https://django-filter.readthedocs.io/en/latest/guide/rest_framework.html

一:功能:实现大于某阅读量或者小于某阅读量的查询。
1:在视图中定义一个对应模型类的过滤器:

# 新建一个过滤器
class BookFilter(filters.FilterSet):
    bread__gt = filters.NumberFilter(field_name='bread', lookup_expr='gt')
    bread__lt = filters.NumberFilter(field_name='bread', lookup_expr='lt')
    class Meta:
        model = BookInfo
        fields = ['bread__gt', 'bread__lt']

2:在视图中指定自定义的过滤器和django中的过滤后端。

 # 指定使用django-filter后端
    filter_backends = (filters.DjangoFilterBackend,)
    # 指定自定义的过滤器
    filterset_class = BookFilter

3:配置django过滤后端:

REST_FRAMEWORK = {
    'DEFAULT_FILTER_BACKENDS': (
        'django_filters.rest_framework.DjangoFilterBackend',
    ),

4:测试:
在这里插入图片描述
在这里插入图片描述

posted on 2020-09-24 21:38  飞行的猪哼哼  阅读(100)  评论(0)    收藏  举报