Django Rest Framework 中的视图集“创建”自定义分配值

2024-04-17

想设置一个自定义用户的用户名通过使用输入电子邮件,但在哪里进行自定义分配,在视图中?同时它也接收一个文件。

模型.py

class CustomUser(AbstractUser):
    avatar = models.ImageField(max_length=None, upload_to='avatar', blank=True)

序列化器.py

class CustomUserSerializer(serializers.ModelSerializer):

    class Meta:
        model = CustomUser
        fields = ('id', 'first_name', 'last_name', 'email', 'password', 'avatar', 'groups')

Views.py

class CustomUserViewSet(viewsets.ModelViewSet):

    queryset = CustomUser.objects.all()
    serializer_class = CustomUserSerializer

先感谢您。


@Anzel 所说的可行,但如果你想这样做django-rest-framework你可以覆盖create你的方法CustomUserSerializer. Like:

class CustomUserSerializer(serializers.ModelSerializer):

    groups = serializers.PrimaryKeyRelatedField(many=True, read_only=True)

    def create(self, validated_data):
        user = CustomUser.objects.create_user(
            username    =validated_data['email'], # HERE
            email       =validated_data['email'],
            password    =validated_data['password'],
            first_name  =validated_data['first_name'], 
            last_name   =validated_data['last_name'],
            avatar      =validated_data['avatar'],
        )

        user.groups = validated_data['groups']
        return user

    class Meta:
       model = CustomUser
       fields = (
           'id', 
           'first_name', 
           'last_name', 
           'email', 
           'password', 
           'avatar', 
           'groups'
       )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django Rest Framework 中的视图集“创建”自定义分配值 的相关文章

随机推荐

  • 如何查看手机时间格式是否设置为24小时? [复制]

    这个问题在这里已经有答案了 我正在 Swift 2 中构建一个闹钟应用程序 我似乎找不到一个合适的方法来确定手机是否设置为 24 小时时间 此外 我无法将模拟器更改为 24 小时工作 因此我什至无法通过调整时间设置来测试一些替代方案 有任何
  • 如何在QWebEngineView中指定用户代理

    我正在使用 PyQt5 在网页上实现自动化功能 PyQt5 中显示的页面与 Chrome 中显示的页面有很大不同 如果我要更改用户代理 我可以模仿 Chrome 的功能吗 如果是这样 我将如何更改以下示例中的用户代理 import sys
  • h:button 和 h:commandButton 之间的区别

    在 JSF 2 中 有什么区别h button and h commandButton
  • 在 Javascript 变量中存储密码有哪些安全隐患?

    我正在开发一个需要良好安全性的网络应用程序 在目前的设计中 许多用户操作需要用户重新发送密码 否则服务器将不得不以纯文本形式存储密码 至少暂时如此 许多用户交互是通过 AJAX 请求进行的 我不想让用户重新输入每个密码 而是想做这样的事情
  • 有谁知道即使页面已刷新,如何保留 Javascript 变量?

    Example 在主页中单击一个按钮 新 然后页面将使用 Javascript 在新窗口中打开新页面 调用重定向 Page 在主页中单击一个按钮 退出 然后页面然后会调用 确认退出 然后 closeChildWindows 关闭所有 在重定
  • 什么算作失败?

    假设我有一个伪 C 程序 For i 0 to 10 x a 2 x 5 next 30 FLOPS 的 FLOP 数量是 1 x 1 x 5 1 2 x 5 10 loop 吗 我很难理解什么是失败 请注意 指示我从何处获取 操作 计数
  • 在 PHP 中生成独特的组合

    我需要从给定的数据集 n 个数字 生成唯一的组合 每个组合都包含 r 值 基本上希望实施C n r n r n r PHP 中的公式 输入数据集 A B C D 并需要 3 个值的唯一组合 如下所示 C n r C 4 3 4 3 4 3
  • 如何在Java中使绘制的图像透明

    我让动画在我的 蛇克隆游戏 中发挥作用 但基于图片的问题是图像没有透明度 注意圆形图片的白色背景 编程方面 是否有解决方案能够使这些绘制的图像包含透明度 这是一张包含我的代码和程序输出的图片 附 顺便说一句 我决定粘贴直接链接而不是 IMG
  • Grails 命令对象:如何将 request.JSON 加载到其中?

    Question 有没有办法使用 request JSON 数据进行自动命令对象绑定 在我的 grails 控制器中给出这个简单的 Command 对象 class ProfileCommand int id String companyN
  • 从匿名类调用新定义的方法

    我实例化了一个匿名类的对象 并向其中添加了一个新方法 Date date new Date public void someMethod 我想知道是否可以从外部调用此方法 类似于 date someMethod 好问题 答案是否定的 您不能
  • 2015年如何从lfd安装mod_wsgi

    我如何从 lfd 网站安装 mod wsgi 因为它有轮扩展 每当我搜索如何在 wamp 上安装 mod wsgi 时 资源都会告诉我从该网站安装二进制文件 然后将 mod wsgi so 文件保留在我的 wamp 目录中 lfd 页面上有
  • 如何为nodejs生成调用图?

    跟进如何为给定的 JavaScript 生成调用图 https stackoverflow com questions 10182387 它被关闭了 因为它需要关注 只有一个问题 所以这是我的重点 如何为我的 Node js Javascr
  • Flex:获取自己的 SWF 文件名?

    有没有办法以编程方式确定我的类正在运行的 swf 文件名 Thanks Stage http livedocs adobe com flex 3 langref flash display Stage html has a 加载器信息 ht
  • 如何使用 --timid 标志来覆盖鼻子

    我想使用运行 nosetests with coverage 内德 巴切尔德 Ned Batchelder 的报道模块 http nedbatchelder com code coverage 但将 timid 标志传递给覆盖模块 有没有办
  • 如何轻松编写克隆方法?

    我有一个带有虚拟克隆新方法的基类 class A virtual A cloneNew const return new A 及其衍生物 class A1 public A virtual A1 cloneNew const return
  • 观察 NSUserDefaults 键的值更改

    我对保存在 NSUserdefaults 中的特定键的值变化感兴趣 然而 我所拥有的并不适合我 observeValueForKeyPath 不会被触发 更新 我想我已经发现了这个问题 如果我使用字符串 而不是使用定义的常量 那么它就会被触
  • 如何在 iOS 13 中以编程方式隐藏和显示状态栏?

    我制定了以下隐藏和再次显示状态栏的常用方法 它在 iOS 13 之前工作正常 但当我在 iOS 13 或更高版本的设备上运行它时 我遇到了崩溃 void showStatusBar BOOL show UIView statusBar UI
  • 如何在运输方式(后端)中添加自定义描述字段

    我想在运输方式下的运输区域页面中添加一个自定义字段 它将是一个文本输入 用户将能够添加自定义消息 我将在前端显示该消息 我注意到它将数据保存在wp woocommerce shipping zone methods没有任何额外列来保存数据的
  • Log4Net 或 NLog(或其他记录器)是否有办法以执行堆栈嵌套 XML 或 JSON 格式输出日志?

    Log4Net 或 NLog 或其他记录器 中是否有一种方法可以以执行堆栈嵌套 XML 或 JSON 格式输出日志 这样 if 函数A calls B 7 那个叫C something 它会输出类似以下内容
  • Django Rest Framework 中的视图集“创建”自定义分配值

    想设置一个自定义用户的用户名通过使用输入电子邮件 但在哪里进行自定义分配 在视图中 同时它也接收一个文件 模型 py class CustomUser AbstractUser avatar models ImageField max le