From 053b749661c87205d47d5cdc6e989c708b4439c7 Mon Sep 17 00:00:00 2001 From: colaftc Date: Tue, 23 Dec 2025 16:41:30 +0800 Subject: [PATCH] feat: clean --- api_man/views.py | 15 ++++----------- 1 file changed, 4 insertions(+), 11 deletions(-) diff --git a/api_man/views.py b/api_man/views.py index 653ffd9..59de656 100644 --- a/api_man/views.py +++ b/api_man/views.py @@ -6,6 +6,8 @@ from rest_framework.decorators import action from rest_framework.response import Response from django_filters.rest_framework import DjangoFilterBackend from django_filters import rest_framework as dj_filters +from django.views.decorators.cache import cache_page +from django.utils.decorators import method_decorator from . import serializers @@ -103,6 +105,7 @@ class BaseViewSet(BasicInfoFilterMixin, viewsets.ModelViewSet): raise PermissionDenied("无权限创建该对象") +@method_decorator(cache_page(20), name='list') class QuickInputViewSet(BasicInfoFilterMixin, viewsets.ModelViewSet): queryset = serializers.basic_models.QuickInput.objects.all() serializer_class = serializers.QuickInputSerializer @@ -111,11 +114,8 @@ class QuickInputViewSet(BasicInfoFilterMixin, viewsets.ModelViewSet): def filter_queryset(self, queryset): qs = super().filter_queryset(queryset) group = self.request.query_params.get('group') - name = self.request.query_params.get('name') if group: qs = qs.filter(group=group) - if name: - qs = qs.filter(name__icontains=name) return qs @action(detail=False, methods=['get'], url_path='groups') @@ -161,7 +161,7 @@ class EmployeeTypeViewSet(BaseViewSet): serializer_class = serializers.EmployeeTypeSerializer -class CustomerViewSet(BaseViewSet): +class CustomerViewSet(BaseViewSet, BasicInfoFilterMixin): queryset = serializers.basic_models.Customer.objects serializer_class = serializers.CustomerSerializer permission_classes = [IsAuthenticated, DjangoModelPermissions] @@ -174,13 +174,6 @@ class CustomerViewSet(BaseViewSet): def can_view_all(self) -> bool: return self.request.user.is_superuser or self.request.user.has_perm('basic_info.view_all_customers') - def filter_queryset(self, queryset): - qs = super().filter_queryset(queryset) - name = self.request.query_params.get('name') - if name: - qs = qs.filter(name__icontains=name) - return qs - def get_queryset(self): qs = super().get_queryset() # 应用可见性过滤