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

@ -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