【问题标题】:Create user without calling manager create_user method in Django在 Django 中创建用户而不调用 manager create_user 方法
【发布时间】:2015-03-27 14:09:25
【问题描述】:

根据我的阅读,create_user(和create_superuser)方法只接收必需的参数。我正在尝试通过向 create_user 函数添加另一个参数来创建具有必需和非必需参数的用户,但出现错误。
我确实从 auth 模块覆盖了 User 模型,所以 MyUser 是 AbstractBaseUser,它的经理是 BaseUserManager
我有一个视图假装创建具有必填和非必填字段的用户,我应该覆盖 init 吗?

【问题讨论】:

  • cf Django 文档:“extra_fields 关键字参数被传递给用户的 init 方法以允许在自定义用户模型上设置任意字段”=> 它应该可以工作,什么是错误吗?

标签: django field required django-users


【解决方案1】:

create_user 函数只是一个快捷方式。您应该使用user = MyUser(field1=arg1, field2=arg2) 实例化一个用户,记住使用set_password 函数作为密码,并调用user.save()

还有一个通用的create 方法,它接受您的用户模型上可用的所有字段,但我不知道它是否正确处理密码。

【讨论】:

    猜你喜欢
    • 2021-02-10
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 2013-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多