У меня есть следующее в настройках:
DJOSER = {
'SERIALIZERS': {
'token': 'api.api.MyTokenSerializer'
}
}
А вот этот сериализатор, используемый для входа в систему:
class MyTokenSerializer(TokenSerializer):
auth_token = serializers.CharField(source="key")
registration_complete = serializers.BooleanField(source="user.registration_complete", read_only=True)
app_mode = serializers.CharField(source="user.app_mode", read_only=True)
class Meta:
model = djoser_settings.TOKEN_MODEL
fields = ("auth_token", "profile_complete", "app_mode")
и теперь мне нужно добавить еще одно поле, но этоПоле является полем метода, и ему необходим объект user
.
В псевдокоде:
class MyTokenSerializer(TokenSerializer):
...
new_field = my_method(user_object)
...
Но я не понимаю, как получить доступ к объекту пользователя в этом сериализаторе. Я вижу, что объект user
используется в качестве источника в двух полях (registration_complete
и app_mode
), но я не знаю, как получить к нему прямой доступ, чтобы передать его методу. Можно ли получить доступ к объекту user
здесь?