官方文档地址:
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:测试:


浙公网安备 33010602011771号