Передача контекста в сериализатор из Viewset

У меня есть Viewset с методом get_serializer_context

   class UserRetrieveView(generics.RetrieveAPIView):
       queryset = User.objects.all()
       permission_classes = (AllowAny,)
       serializer_class = UserProfilePageSerializer

       def get_serializer_context(self):
           context = super(UserRetrieveView, self).get_serializer_context()
           context.update({'room' : self.get_object().room_set.all()})
           print(context['room'])
           return context

Теперь я хочу поместить этот контекст в мой сериализатор :

    class UserProfilePageSerializer(ModelSerializer):

    class Meta:
        model = User
        fields = ['id', 'username', 'name','bio']

Честно говоря, я понятия не имею, как это сделать. Буду очень признателен за любую помощь или хотя бы подсказку

class UserRetrieveView(generics.RetrieveAPIView):
   queryset = User.objects.all()
   permission_classes = (AllowAny,)
   serializer_class = UserProfilePageSerializer

   def get_serializer_context(self):
       context = super(UserRetrieveView, self).get_serializer_context()
       context.update({'room' : self.get_object().room_set.all()})
       print(context['room'])
       return context

   def get_serializer(self):
       return self.get_serializer_class()(**self.get_serializer_context())

По какой-то причине это должно работать, я никогда не проверял почему, но обычно что-то вроде этого, это также происходит с kwargs формы.

Вернуться на верх