python - 如何在 Django Rest Framework 中获取当前用户的详细信息?
问题描述
我正在开发基于 Django Rest Framework 的 API。我已经设法通过 HiddenField 在 POST 请求中自动添加当前用户。现在我想在博文的 GET 请求中返回一些关于当前用户的附加信息。
我试图从CurrentUserDefault()
和通过访问这些数据source='author.username'
。第一个根本不起作用,第二个选项在保存时中断,因为请求中没有提供作者。
class BlogSerializer(serializers.HyperlinkedModelSerializer):
author = serializers.HiddenField(default=serializers.CurrentUserDefault())
# author_name = serializers.ReadOnlyField(source=serializers.CurrentUserDefault().name)
# author_username = serializers.ReadOnlyField(source='author.username')
如何访问当前用户的详细信息并将其附加为只读字段?
解决方案
如果要序列化user
信息,但以只读方式。这可以完成这项工作:
class UserSerializer(serializers.ModelSerializer):
class Meta:
model = User
fields = (<what you want>)
class BlogSerializer(serializers.HyperlinkedModelSerializer):
author = UserSerializer(read_only=True)
推荐阅读
- python-3.x - 计数器向上或向下脚本不起作用python
- python - 如何使用面向对象的代码在 matplotlib 图周围绘制边框?
- swiftui - 如何在 SwiftUI 中通过 dx,dy 扩展框架
- javascript - 将旋转地球上的标记与 D3.js 中的线连接起来
- python - 根目录下所有小部件继承的python tkinter透明度
- mysql - Django反向数据库查找多个对象
- asp.net-core - ASPNET Core 3.1 身份:10 分钟后注销用户
- networking - qemu openbsd 网络问题
- android - Android比较两个声音
- python - 如何将文件拆分为起始索引和结束索引之间的不规则部分?