1、安装pip install django-filter
搜索django-filter基础用法
2、进行配置
3、进行内容调试。
4、如果碰到没有关联的字段。interfaces和projects没有直接关联字段,但是interface和module有关联,而且module和projects关联,这样我们写成 # filterset_fields = ('module__project', )
但是前端要求传project,我们可以重新定义一个过滤基类。创建文件filter.py
python
from django_filters import rest_framework as filters
class InterfaceFilterSet(filters.FilterSet):
"""过滤类"""
# 定义过滤字段
# 变量名是前端使用的过滤参数
# field_name是实际到对应模型上过滤的字段名
project = filters.NumberFilter(field_name='module__project')
这样即可