A simple package to handle multiple serializers for the same ViewSet in Django Rest Framework.
pip install drf-multi-serializers
Simply import the MultiSerializerMixin
and use it in your ViewSet:
from drf_multi_serializers.mixins import MultiSerializerMixin
class MyViewSet(MultiSerializerMixin, viewsets.ModelViewSet):
...
serializer_classes = {
"create": MyCreateSerializer,
"list": MyListSerializer,
"metadata": MyMetadataSerializer, # create ViewSets require either serializer_class or metadata serializer for OPTION requests
"partial_update": MyUpdateSerializer,
"retrieve": MyRetrieveSerializer,
"update": MyUpdateSerializer,
}
...
Contributions are welcome! To get started, please refer to our contribution guidelines.
If you encounter any problems while using this package, please open a new issue here.