[Fixed]-Django Rest Framework โ€“ Serializing relationship differently for GET and POST

1๐Ÿ‘

โœ…

You would use get_serializer_class to switch on the request type for what serializer you want to use.

Example code:

from rest_framework import viewsets

class MyViewSet(viewsets.ModelViewSet):
    queryset = MyModel.objects.all()

    def get_serializer_class(self):
        """
        :return: serializer class based on the request type
        """
        if self.action == 'retrieve':
            return ps.MyModelDetailSerializer
        elif self.action == 'list':
            return ps.MyModelListSerializer
        elif self.action == 'create':
            return ps.MyModelCreateSerializer
        else:
            return ps.MyModelUpdateSerializer
๐Ÿ‘คAaron Lelevier

Leave a comment