Passar o contexto da solicitação para o serializador do Viewset no Django Rest Framework

Eu tenho um caso em que os valores para um campo serializador dependem da identidade do usuário conectado no momento. Vi como adicionar o usuário ao contexto ao inicializar um serializador, mas não sei como fazer isso ao usar um ViewSet, pois você fornece apenas a classe do serializador e não a instância real do serializador.

Basicamente, gostaria de saber como:

class myModelViewSet(ModelViewSet):
   queryset = myModel.objects.all()
   permission_classes = [DjangoModelPermissions]
   serializer_class = myModelSerializer

para:

class myModelSerializer(serializers.ModelSerializer):
    uploaded_by = serializers.SerializerMethodField()
    special_field = serializers.SerializerMethodField()

    class Meta:
        model = myModel

    def get_special_field(self, obj):
        if self.context['request'].user.has_perm('something.add_something'):
           return something

Desculpe se não estava claro, pelos DOCs:Adicionando contexto extra O que diz para fazer

serializer = AccountSerializer(account, context={'request': request})
serializer.data

Mas não tenho certeza de como fazer isso automaticamente a partir do conjunto de visualizações, pois só posso alterar a classe do serializador e não a própria instância do serializador.

questionAnswers(4)

yourAnswerToTheQuestion