我试过这样的方法,但不管用.

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']

我需要一种能够访问请求的方法.我的序列化程序类中的用户.

推荐答案

您不能直接访问request.user.您需要访问请求对象,然后获取用户属性.

这样地:

user =  self.context['request'].user

或者为了更安全,

user = None
request = self.context.get("request")
if request and hasattr(request, "user"):
    user = request.user

更多关于extra context can be read here的信息

Django相关问答推荐

社工/社工简戈

如何创建复杂的查询?| ChartJS 和 Django

Django rest框架:自定义对象权限不起作用

来自 Django 应用程序的日志(log)消息未上传到 AWS CloudWatch

遍历django模板中的外键相关表

ManyRelatedManager 不可迭代

Django REST 异常

如何在 Django 模板上实现 back链接?

Django:如何从模板调用视图函数?

如何获取 Django 模型来自的应用程序?

在 Django 应用程序之间共享模型

在 django 中是否有生成 settings.SECRET_KEY 的功能?

如何在保存之前更改 Django 表单字段值?

import_module 的 Django 1.9 ImportError

django 模板列表变量中的最后一个元素

Django/Python初学者:执行python manage.py syncdb时出错-找不到psycopg2

python/django中setattr和对象操作的区别

django 应用基于条件的样式类

如何动态访问 Django 模型字段详细名称?

Django - 保存新对象时如何获取 self.id?