fix: base CustomRetrieveModelMixin支持添加add_info
This commit is contained in:
parent
83d8889b5e
commit
89cbab8258
|
@ -1,5 +1,5 @@
|
|||
import uuid
|
||||
from rest_framework.mixins import CreateModelMixin, UpdateModelMixin, DestroyModelMixin, ListModelMixin
|
||||
from rest_framework.mixins import CreateModelMixin, UpdateModelMixin, DestroyModelMixin, ListModelMixin, RetrieveModelMixin
|
||||
import ast
|
||||
import ipaddress
|
||||
import traceback
|
||||
|
@ -176,6 +176,22 @@ class BulkDestroyModelMixin(DestroyModelMixin):
|
|||
self.perform_destroy(instance)
|
||||
return Response(status=204)
|
||||
|
||||
|
||||
class CustomRetrieveModelMixin(RetrieveModelMixin):
|
||||
|
||||
def retrieve(self, request, *args, **kwargs):
|
||||
instance = self.get_object()
|
||||
serializer = self.get_serializer(instance)
|
||||
data = self.add_info_for_item(serializer.data)
|
||||
return Response(data)
|
||||
|
||||
def add_info_for_item(self, data):
|
||||
"""给dict返回数据添加额外信息
|
||||
|
||||
给dict返回数据添加额外信息
|
||||
"""
|
||||
return data
|
||||
|
||||
class CustomListModelMixin(ListModelMixin):
|
||||
|
||||
@swagger_auto_schema(manual_parameters=[
|
||||
|
|
|
@ -8,7 +8,8 @@ from rest_framework.response import Response
|
|||
from rest_framework.viewsets import GenericViewSet
|
||||
|
||||
from apps.system.models import DataFilter, Dept
|
||||
from apps.utils.mixins import MyLoggingMixin, BulkCreateModelMixin, BulkUpdateModelMixin, BulkDestroyModelMixin, CustomListModelMixin
|
||||
from apps.utils.mixins import (MyLoggingMixin, BulkCreateModelMixin, BulkUpdateModelMixin,
|
||||
BulkDestroyModelMixin, CustomListModelMixin, CustomRetrieveModelMixin)
|
||||
from apps.utils.permission import ALL_PERMS, RbacPermission, get_user_perms_map
|
||||
from apps.utils.queryset import get_child_queryset2, get_child_queryset_u
|
||||
from apps.utils.serializers import ComplexSerializer
|
||||
|
@ -183,7 +184,7 @@ class CustomGenericViewSet(MyLoggingMixin, GenericViewSet):
|
|||
return queryset.filter(create_by=self.request.user)
|
||||
|
||||
class CustomModelViewSet(BulkCreateModelMixin, BulkUpdateModelMixin, CustomListModelMixin,
|
||||
RetrieveModelMixin, BulkDestroyModelMixin, CustomGenericViewSet):
|
||||
CustomRetrieveModelMixin, BulkDestroyModelMixin, CustomGenericViewSet):
|
||||
"""
|
||||
增强的ModelViewSet
|
||||
"""
|
||||
|
|
Loading…
Reference in New Issue