djangoserializationdjango-rest-framework

Return nested serializer in serializer method field


I have a method field called followers. I get the list of followers in a SerializerMethodField :

followers = serializers.SerializerMethodField()

I want to format the result with a specific serializer called BaseUserSmallSerializer. How should I implement the method get_followers to achieve that ?


Solution

  • Try this (needs a property get_followers on your model):

    followers = BaseUserSmallSerializer(source='get_followers', many=True)
    

    OR

    You can use serializer inside methodfield;

    def get_followers(self, obj):
       followers_queryset = #get queryset of followers
       return  BaseUserSmallSerializer(followers_queryset, many=True).data