Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MultiSerializerViewSetMixin(object):
- def get_serializer_class(self):
- """
- Look for serializer class in self.serializer_action_classes, which
- should be a dict mapping action name (key) to serializer class (value),
- i.e.:
- class MyViewSet(MultiSerializerViewSetMixin, ViewSet):
- serializer_class = MyDefaultSerializer
- serializer_action_classes = {
- 'list': MyListSerializer,
- 'my_action': MyActionSerializer,
- }
- @action
- def my_action:
- ...
- If there's no entry for that action then just fallback to the regular
- get_serializer_class lookup: self.serializer_class, DefaultSerializer.
- """
- try:
- return self.serializer_action_classes[self.action]
- except (KeyError, AttributeError):
- return super(MultiSerializerViewSetMixin,
- self).get_serializer_class()
Add Comment
Please, Sign In to add comment