Added an API mixin to use a diferent serializers in the list action method
parent
00d8a9cd3b
commit
9ad0e979c8
|
@ -60,7 +60,20 @@ class PreconditionMixin(object):
|
||||||
self.pre_conditions_on_delete(obj)
|
self.pre_conditions_on_delete(obj)
|
||||||
|
|
||||||
|
|
||||||
|
class DetailAndListSerializersMixin(object):
|
||||||
|
"""
|
||||||
|
Use a diferent serializer class to the list action.
|
||||||
|
"""
|
||||||
|
list_serializer_class = None
|
||||||
|
|
||||||
|
def get_serializer_class(self):
|
||||||
|
if self.action == "list" and self.list_serializer_class:
|
||||||
|
return self.list_serializer_class
|
||||||
|
return super().get_serializer_class()
|
||||||
|
|
||||||
|
|
||||||
class ModelCrudViewSet(AtomicMixin,
|
class ModelCrudViewSet(AtomicMixin,
|
||||||
|
DetailAndListSerializersMixin,
|
||||||
PreconditionMixin,
|
PreconditionMixin,
|
||||||
HeadersPaginationMixin,
|
HeadersPaginationMixin,
|
||||||
ConditionalPaginationMixin,
|
ConditionalPaginationMixin,
|
||||||
|
@ -74,6 +87,7 @@ class ModelCrudViewSet(AtomicMixin,
|
||||||
|
|
||||||
|
|
||||||
class ModelListViewSet(AtomicMixin,
|
class ModelListViewSet(AtomicMixin,
|
||||||
|
DetailAndListSerializersMixin,
|
||||||
PreconditionMixin,
|
PreconditionMixin,
|
||||||
HeadersPaginationMixin,
|
HeadersPaginationMixin,
|
||||||
ConditionalPaginationMixin,
|
ConditionalPaginationMixin,
|
||||||
|
|
Loading…
Reference in New Issue