添加岗位、登录日志过滤
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
# Generated by Django 5.2.1 on 2025-07-03 03:44
|
||||
# Generated by Django 5.2.1 on 2025-07-03 08:43
|
||||
|
||||
import django.contrib.auth.models
|
||||
import django.contrib.auth.validators
|
||||
@@ -88,7 +88,7 @@ class Migration(migrations.Migration):
|
||||
),
|
||||
),
|
||||
(
|
||||
"type",
|
||||
"value",
|
||||
models.CharField(
|
||||
db_index=True,
|
||||
default="",
|
||||
|
||||
@@ -180,7 +180,7 @@ class RolePermission(CoreModel):
|
||||
class DictType(CoreModel):
|
||||
"""字典类型表"""
|
||||
name = models.CharField(max_length=100, default='', verbose_name='字典名称')
|
||||
type = models.CharField(max_length=100, default='', verbose_name='字典类型', db_index=True)
|
||||
value = models.CharField(max_length=100, default='', verbose_name='字典类型', db_index=True)
|
||||
status = models.IntegerField(
|
||||
choices=CommonStatus.choices,
|
||||
default=CommonStatus.ENABLED,
|
||||
|
||||
@@ -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']
|
||||
@@ -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]
|
||||
|
||||
@@ -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']
|
||||
|
||||
Reference in New Issue
Block a user