我尝试过这样的东西,它不起作用 .
class PostSerializer(serializers.ModelSerializer):
class Meta:
model = Post
def save(self):
user = self.context['request.user']
title = self.validated_data['title']
article = self.validated_data['article']
我需要一种能够从我的Serializer类访问request.user的方法 .
3 回答
您无法直接访问
request.user
. 您需要访问请求对象,然后获取用户属性 .像这样:
或者更安全,
更多关于extra context can be read here
正如Igor在其他答案中提到的,使用可以使用CurrentUserDefault . 如果您不想仅为此重写保存方法,请使用doc:
实际上,您不必费心上下文 . 有一个更好的方法来做到这一点: