我在设置中有以下内容:
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