文章目录
自定义过滤方法
import django_filters
from household_register.models import ApplyModel
class ApplyFilter(django_filters.rest_framework.FilterSet):
depts = django_filters.CharFilter(method='filter_depts')
class meta:
model = ApplyModel
fields = []
def filter_depts(self, queryset, name, value):
from user.models import DeptModel
if value:
dept_ids = value.strip().strip(',').split(',')
depts = []
for dept_id in dept_ids:
dept = DeptModel.objects.get(id=dept_id)
depts.extend(dept.children_ids())
queryset = queryset.filter(user__dept__in=depts)
return queryset