Django REST Framework: como o contexto do serializador funciona?

É uma tarefa bastante padrão no Django REST Framework fornecer fontes adicionaisargs/kwargs para um serializador para definir valores de campos definidos não viarequest.data, mas por meio do valor em parâmetros de URL ou cookies. Por exemplo, eu preciso definiruser campo do meu modelo de comentário igual arequest.user mediante solicitação do POST. Esses argumentos adicionais são chamados de contexto.

Muitas questões (1, 2) no StackOverflow sugerem que eu substituaget_serializer_context() método do meuModelViewSet. Eu fiz e isso não ajuda. Tentei entender o que há de errado e descobri que, a partir do código fonte, não entendo como esse sistema de contexto deve funcionar em geral. (falta também documentação sobre esse assunto)

Alguém pode explicar, onde o serializador adiciona contexto aos dados normais de solicitação? Eu encontrei dois lugares, onde ele salva os valores do contexto.

serializer.save (), método, que combina kwargs com dados validados, mas geralmente é chamado sem argumentos (por exemplo, porModelMixins)Campos.__new__(), que armazena em cache args e kwargs, mas parece que ninguém os lê mais tarde.

questionAnswers(2)

yourAnswerToTheQuestion