Как получить доступ к параметру запроса в сериализаторе django rest framework
Я пытаюсь получить доступ к параметру запроса в сериализаторе. Я не уверен, что я делаю неправильно, я пытался следовать нескольким решениям.
class MyViewSet(viewsets.ModelViewSet):
.......
serializer_class = MySerializer
def get_serializer_context(self):
context = super().get_serializer_context()
context['test'] = "something"
return context
В моем сериализаторе,
class MySerializer(serializers.ModelSerializer):
isHighlight = serializers.SerializerMethodField()
def get_isHighlight(self, obj):
print(self.context['test'])
return self.context['test']
Я получаю эту ошибку,
Django Version: 3.2.7
Exception Type: KeyError
Exception Value: 'test'
Интересно, что я вижу, что он может вывести значение в консоль, а затем исключение. Я также попытался получить прямой доступ к переменной запроса, как
class MySerializer(serializers.ModelSerializer):
isHighlight = serializers.SerializerMethodField()
def get_isHighlight(self, obj):
return self.context['request'].query_params['page']
Но он показывает ту же ошибку
Django Version: 3.2.7
Exception Type: KeyError
Exception Value: 'request'
Любые предложения? Заранее спасибо.