django - 在更新和设置新权限期间向序列化数据添加密码值 (drf)
问题描述
我正在使用 django rest 框架和 DjangoModelPermissions,我已经序列化了默认用户模型以获取有关用户及其权限的信息,并且管理员可以根据前端(一些 JavaScript)的要求更改权限或使某些用户成为超级用户.
问题是当管理员尝试使用新数据执行 PUT 语句时,它会失败。在用户模型中,密码是必填字段。我有用户的身份验证令牌(不起作用),我没有从用户模型序列化密码,我不想。
我尝试通过使用 user.objects.get(username=data_from_serializer_data).password 获取值来在保存之前附加序列化数据以添加另一个字段“密码”,但我无法向序列化程序数据添加额外的字段(密码字段) .
实现我的目标的方法可能是什么?如何在序列化程序数据中添加密码值(在后端),然后发送完整数据进行更新。
我还在某处读到 serializer.data 是一个无法编辑的属性。如果是真的,我还需要做什么来完成我的任务?
谢谢
解决方案
您可以在创建 CustomUser 并覆盖现有序列化程序后添加get_serializer_class 。
推荐阅读
- neo4j - 如何在 Spring Data neo4j 中获取节点和关系作为节点对象的列表属性?
- python - 如果您有多个输出,keras 如何计算损失
- python - 如何找到元素
- javascript - 在可编辑数据网格中使用 optgroup 组合框
- django - Django 将子模型链接到主模型并使用 ModelForm 在我的视图上显示子模型小部件
- python-3.x - PyWin32 和 PyInstaller:在 PYZ 中找不到 win32security
- c# - ASP.NET 应用程序中不同类型的池之间的关系
- excel - Excel VBA使用动态滚动条独立触发多个事件
- python - Tensorflow2:如何将字符串张量转换为词袋?经过几天的挣扎后需要帮助
- listview - Xamarin ListView 选择帮助导航到新的 ListView