添加岗位、登录日志过滤

This commit is contained in:
xie7654
2025-07-03 16:53:40 +08:00
parent ccb4536b37
commit 18f9afb924
17 changed files with 217 additions and 65 deletions

View File

@@ -1,6 +1,7 @@
from rest_framework import serializers, viewsets
from system.models import DictType
from utils.custom_model_viewSet import CustomModelViewSet
from django_filters import rest_framework as filters
class DictTypeSerializer(serializers.ModelSerializer):
@@ -10,6 +11,20 @@ class DictTypeSerializer(serializers.ModelSerializer):
fields = '__all__'
class DictTypeFilter(filters.FilterSet):
name = filters.CharFilter(field_name='name', lookup_expr='icontains')
value = filters.CharFilter(field_name='value', lookup_expr='icontains')
status = filters.CharFilter(field_name='status')
class Meta:
model = DictType
fields = ['name', 'value', 'status']
class DictTypeViewSet(CustomModelViewSet):
queryset = DictType.objects.filter(is_deleted=False)
serializer_class = DictTypeSerializer
queryset = DictType.objects.all()
serializer_class = DictTypeSerializer
filterset_class = DictTypeFilter
search_fields = ['name', 'type']
ordering_fields = ['create_time', 'id']
ordering = ['-create_time']

View File

@@ -3,6 +3,7 @@ from utils.serializers import CustomModelSerializer
from utils.custom_model_viewSet import CustomModelViewSet
from rest_framework import serializers
from utils.permissions import HasButtonPermission
from django_filters import rest_framework as filters
class LoginLogSerializer(CustomModelSerializer):
"""
@@ -19,14 +20,23 @@ class LoginLogSerializer(CustomModelSerializer):
return obj.get_result_display()
class LoginLogFilter(filters.FilterSet):
username = filters.CharFilter(field_name='username', lookup_expr='icontains')
create_time = filters.DateFromToRangeFilter(field_name='create_time')
class Meta:
model = LoginLog
fields = ['username', 'create_time']
class LoginLogViewSet(CustomModelViewSet):
"""
系统访问记录 视图集
"""
queryset = LoginLog.objects.filter(is_deleted=False).order_by('-id')
serializer_class = LoginLogSerializer
filterset_fields = ['id', 'remark', 'creator', 'modifier', 'is_deleted', 'username', 'result', 'user_ip', 'user_agent']
search_fields = ['name'] # 根据实际字段调整
filterset_class = LoginLogFilter
search_fields = ['username']
ordering_fields = ['create_time', 'id']
ordering = ['-create_time']
permission_classes = [HasButtonPermission]

View File

@@ -1,6 +1,7 @@
from system.models import Post
from utils.serializers import CustomModelSerializer
from utils.custom_model_viewSet import CustomModelViewSet
from django_filters import rest_framework as filters
class PostSerializer(CustomModelSerializer):
"""
@@ -12,13 +13,23 @@ class PostSerializer(CustomModelSerializer):
read_only_fields = ['id', 'create_time', 'update_time']
class PostFilter(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')
class Meta:
model = Post
fields = ['name', 'code', 'status']
class PostViewSet(CustomModelViewSet):
"""
岗位信息表 视图集
"""
queryset = Post.objects.filter(is_deleted=False)
serializer_class = PostSerializer
filterset_fields = ['id', 'remark', 'creator', 'modifier', 'is_deleted', 'code', 'name', 'sort', 'status']
search_fields = ['name'] # 根据实际字段调整
ordering_fields = ['create_time', 'id', 'sort']
ordering = ['sort']
filterset_class = PostFilter
search_fields = ['name', 'code']
ordering_fields = ['create_time', 'id']
ordering = ['-create_time']