添加用户及角色过滤

This commit is contained in:
xie7654
2025-07-03 11:45:32 +08:00
parent 86bc64622f
commit ccb4536b37
11 changed files with 218 additions and 55 deletions

View File

@@ -4,6 +4,7 @@ from rest_framework.decorators import action
from rest_framework.filters import SearchFilter, OrderingFilter
from rest_framework.generics import get_object_or_404
from rest_framework.response import Response
from django_filters import rest_framework as filters
from system.models import RolePermission, Menu, Role
from utils.custom_model_viewSet import CustomModelViewSet
@@ -29,13 +30,22 @@ class RoleSerializer(CustomModelSerializer):
return obj.get_status_display()
class RoleFilter(filters.FilterSet):
name = filters.CharFilter(field_name='name', lookup_expr='icontains')
code = filters.CharFilter(field_name='code', lookup_expr='icontains')
status = filters.CharFilter(field_name='status') # 保持精确,如需模糊可改为 icontains
class Meta:
model = Role
fields = ['status', 'name', 'code']
class RoleViewSet(CustomModelViewSet):
"""角色管理视图集"""
queryset = Role.objects.all()
serializer_class = RoleSerializer
filter_backends = [DjangoFilterBackend, SearchFilter, OrderingFilter]
filterset_fields = ['status', 'name']
filterset_class = RoleFilter
search_fields = ['name']
ordering_fields = ['create_time']