新功能: 封装时间范围的搜索,示例在登录日志页面
This commit is contained in:
@@ -7,6 +7,8 @@
|
||||
@Remark: 自定义视图集
|
||||
"""
|
||||
from django.db import transaction
|
||||
from django_filters import DateTimeFromToRangeFilter
|
||||
from django_filters.rest_framework import FilterSet
|
||||
from drf_yasg import openapi
|
||||
from drf_yasg.utils import swagger_auto_schema
|
||||
from rest_framework.decorators import action
|
||||
@@ -16,11 +18,23 @@ from dvadmin.utils.filters import DataLevelPermissionsFilter
|
||||
from dvadmin.utils.import_export_mixin import ExportSerializerMixin, ImportSerializerMixin
|
||||
from dvadmin.utils.json_response import SuccessResponse, ErrorResponse, DetailResponse
|
||||
from dvadmin.utils.permission import CustomPermission
|
||||
from dvadmin.utils.models import get_custom_app_models
|
||||
from dvadmin.utils.models import get_custom_app_models, CoreModel
|
||||
from dvadmin.system.models import FieldPermission, MenuField
|
||||
from django_restql.mixins import QueryArgumentsMixin
|
||||
|
||||
|
||||
class CoreModelFliterSet(FilterSet):
|
||||
"""
|
||||
封装一个时间范围过滤器:
|
||||
使用方式:
|
||||
{'create_datetime_after': '2024-01-01 8:00', 'create_datetime_before': '2024-01-05 10:00'}
|
||||
"""
|
||||
create_datetime = DateTimeFromToRangeFilter()
|
||||
update_datetime = DateTimeFromToRangeFilter()
|
||||
class Meta:
|
||||
model = None
|
||||
fields = "__all__"
|
||||
|
||||
class CustomModelViewSet(ModelViewSet, ImportSerializerMixin, ExportSerializerMixin, QueryArgumentsMixin):
|
||||
"""
|
||||
自定义的ModelViewSet:
|
||||
@@ -38,6 +52,7 @@ class CustomModelViewSet(ModelViewSet, ImportSerializerMixin, ExportSerializerMi
|
||||
filter_fields = '__all__'
|
||||
search_fields = ()
|
||||
extra_filter_class = [DataLevelPermissionsFilter]
|
||||
filterset_class = CoreModelFliterSet
|
||||
permission_classes = [CustomPermission]
|
||||
import_field_dict = {}
|
||||
export_field_label = {}
|
||||
|
||||
Reference in New Issue
Block a user