复杂查询 swagger
This commit is contained in:
parent
d961a02378
commit
2badb9c45c
|
@ -15,6 +15,7 @@ from apps.utils.permission import ALL_PERMS, RbacPermission, get_user_perms_map
|
|||
from apps.utils.queryset import get_child_queryset2
|
||||
from apps.utils.serializers import PkSerializer, ComplexSerializer
|
||||
from rest_framework.throttling import UserRateThrottle
|
||||
from drf_yasg.utils import swagger_auto_schema
|
||||
|
||||
|
||||
class CustomGenericViewSet(MyLoggingMixin, GenericViewSet):
|
||||
|
@ -46,10 +47,6 @@ class CustomGenericViewSet(MyLoggingMixin, GenericViewSet):
|
|||
return super().get_serializer_class()
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
try:
|
||||
self.cquery_serializer_class = self.list_serializer_class if self.list_serializer_class else self.serializer_class
|
||||
except:
|
||||
pass
|
||||
super().__init__(*args, **kwargs)
|
||||
if self.perms_map:
|
||||
for k, v in self.perms_map.items():
|
||||
|
@ -179,7 +176,8 @@ class CustomModelViewSet(CreateModelMixin, UpdateModelMixin, ListModelMixin,
|
|||
else:
|
||||
raise ValidationError(**PKS_ERROR)
|
||||
|
||||
@action(methods=['post'], detail=False, perms_map={'post': '*'}, serializer_class=ComplexSerializer)
|
||||
@swagger_auto_schema(request_body=ComplexSerializer, responses={200: {}})
|
||||
@action(methods=['post'], detail=False, perms_map={'post': '*'})
|
||||
def cquery(self, request):
|
||||
"""复杂查询
|
||||
|
||||
|
@ -209,8 +207,8 @@ class CustomModelViewSet(CreateModelMixin, UpdateModelMixin, ListModelMixin,
|
|||
raise ParseError(str(e))
|
||||
page = self.paginate_queryset(new_qs)
|
||||
if page is not None:
|
||||
serializer = self.cquery_serializer_class(page, many=True)
|
||||
serializer = self.get_serializer(page, many=True)
|
||||
return self.get_paginated_response(serializer.data)
|
||||
serializer = self.cquery_serializer_class(new_qs, many=True)
|
||||
serializer = self.get_serializer(new_qs, many=True)
|
||||
return Response(serializer.data)
|
||||
|
||||
|
|
Loading…
Reference in New Issue