from rest_framework import viewsets from django_filters import rest_framework from utils.paginator import BasicSetPagination from .models import SystemUser from .serializers import SystemUserSerializer class SystemUserFilter(rest_framework.FilterSet): username = rest_framework.CharFilter(field_name="username", lookup_expr="icontains") email = rest_framework.CharFilter(field_name="email", lookup_expr="icontains") phone = rest_framework.CharFilter(field_name="phone", lookup_expr="icontains") role_id = rest_framework.NumberFilter(field_name="role_id", lookup_expr="exact") area_id = rest_framework.NumberFilter(field_name="area_id", lookup_expr="exact") class Meta: model = SystemUser fields = "__all__" class SystemUserViewSet(viewsets.ModelViewSet): queryset = SystemUser.objects.all() serializer_class = SystemUserSerializer pagination_class = BasicSetPagination filter_backends = [ rest_framework.DjangoFilterBackend, ] # 过滤器 filterset_class = SystemUserFilter