feat: Views to cache discovered serializer

ref: #471 #511
This commit is contained in:
2025-01-31 22:09:11 +09:30
parent 49088f1f68
commit c5eb26e62b
38 changed files with 430 additions and 109 deletions

View File

@ -75,13 +75,22 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name) + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name) + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name) + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name) + 'ModelSerializer']
return self.serializer_class

View File

@ -184,15 +184,24 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class
def get_return_url(self):

View File

@ -561,6 +561,12 @@ class ModelViewSetBase(
_Optional_, Used by API text search as the fields to search.
"""
serializer_class = None
"""Serializer class to use,
If not used, use get_serializer_class function and cache the class here.
"""
def get_queryset(self):
@ -582,15 +588,24 @@ class ModelViewSetBase(
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name) + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name) + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name) + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name) + 'ModelSerializer']
return self.serializer_class

View File

@ -82,13 +82,22 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -138,15 +138,23 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
all_models = apps.get_models()
# all_models = apps.get_models()
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -94,13 +94,22 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -86,13 +86,22 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -73,12 +73,21 @@ class ViewSet(ModelViewSet):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -134,12 +134,21 @@ class ViewSet(ModelViewSet):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -89,15 +89,24 @@ class ViewSet(ModelListRetrieveDeleteViewSet):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class
def get_queryset(self):

View File

@ -245,6 +245,10 @@ class TicketViewSet(ModelViewSet):
serializer_prefix = str(self._ticket_type).replace(' ', '')
if self.serializer_class:
return self.serializer_class
if (
self.action == 'create'
@ -253,34 +257,7 @@ class TicketViewSet(ModelViewSet):
or self.action == 'update'
):
organization = None
if (
self.action == 'create'
):
if self.request.data is not None:
if 'organization' in self.request.data:
organization = int(self.request.data['organization'])
organization = Organization.objects.get(
pk = organization
)
elif (
(
self.action == 'partial_update'
or self.action == 'partial_update'
)
and self.kwargs.get('pk', None)
):
organization = self.model.objects.get(
pk = int(self.kwargs['pk'])
).organization
organization = self._obj_organization
if organization:
@ -333,7 +310,10 @@ class TicketViewSet(ModelViewSet):
or self.action == 'retrieve'
):
return globals()[serializer_prefix + 'TicketViewSerializer']
self.serializer_class = globals()[serializer_prefix + 'TicketViewSerializer']
else:
return globals()[serializer_prefix + 'TicketModelSerializer']
self.serializer_class = globals()[serializer_prefix + 'TicketModelSerializer']
return self.serializer_class

View File

@ -73,12 +73,21 @@ class ViewSet(ModelViewSet):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -212,6 +212,10 @@ class ViewSet(ModelViewSet):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
organization:int = None
serializer_prefix:str = 'TicketComment'
@ -335,10 +339,14 @@ class ViewSet(ModelViewSet):
or self.action == 'retrieve'
):
return globals()['TicketCommentViewSerializer']
self.serializer_class = globals()['TicketCommentViewSerializer']
return globals()[str(serializer_prefix).replace(' ', '') + 'ModelSerializer']
else:
self.serializer_class = globals()[str(serializer_prefix).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -69,12 +69,21 @@ class ViewSet(ModelViewSet):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -200,15 +200,24 @@ class ViewSet(ModelViewSet):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -80,14 +80,24 @@ class ViewSet( ModelViewSet ):
view_description = 'Physical Devices'
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name) + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name) + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name) + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name) + 'ModelSerializer']
return self.serializer_class

View File

@ -75,12 +75,21 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -181,12 +181,21 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -168,21 +168,32 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
return self.serializer_class
if 'software_id' in self.kwargs:
return globals()['SoftwareInstallsModelSerializer']
self.serializer_class = globals()['SoftwareInstallsModelSerializer']
else:
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class
@property

View File

@ -74,12 +74,21 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -76,12 +76,21 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return self.serializer_class

View File

@ -141,12 +141,21 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return self.serializer_class

View File

@ -73,12 +73,21 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name) + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name) + 'ModelSerializer']
return self.serializer_class

View File

@ -71,12 +71,21 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return self.serializer_class

View File

@ -139,12 +139,21 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return self.serializer_class

View File

@ -73,12 +73,21 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name) + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name) + 'ModelSerializer']
return self.serializer_class

View File

@ -72,12 +72,21 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -71,12 +71,21 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name) + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name) + 'ModelSerializer']
return self.serializer_class

View File

@ -76,12 +76,21 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name) + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name) + 'ModelSerializer']
return self.serializer_class

View File

@ -45,12 +45,21 @@ class ViewSet(ReadOnlyModelViewSet):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -45,12 +45,21 @@ class ViewSet(ReadOnlyModelViewSet):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -80,6 +80,10 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
organization = None
if 'organization' in self.request.data:
@ -104,7 +108,9 @@ class ViewSet( ModelViewSet ):
permissions_required = 'project_management.import_project'
) or self.request.user.is_superuser:
return globals()[str( self.model._meta.verbose_name) + 'ImportSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name) + 'ImportSerializer']
return self.serializer_class
if (
@ -112,7 +118,11 @@ class ViewSet( ModelViewSet ):
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name) + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name) + 'ViewSerializer']
return globals()[str( self.model._meta.verbose_name) + 'ModelSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name) + 'ModelSerializer']
return self.serializer_class

View File

@ -131,12 +131,21 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -71,12 +71,21 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -71,12 +71,21 @@ class ViewSet( ModelViewSet ):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -70,12 +70,21 @@ class ViewSet(ModelRetrieveUpdateViewSet):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -67,12 +67,21 @@ class ViewSet(ModelViewSet):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class

View File

@ -70,12 +70,21 @@ class ViewSet(ModelRetrieveUpdateViewSet):
def get_serializer_class(self):
if self.serializer_class:
return self.serializer_class
if (
self.action == 'list'
or self.action == 'retrieve'
):
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ViewSerializer']
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ViewSerializer']
else:
self.serializer_class = globals()[str( self.model._meta.verbose_name).replace(' ' , '') + 'ModelSerializer']
return globals()[str( self.model._meta.verbose_name).replace(' ', '') + 'ModelSerializer']
return self.serializer_class