28 lines
1.0 KiB
Python
28 lines
1.0 KiB
Python
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
|