在Django中创建用户而不调用manager create_user方法

时间:2015-03-27 14:09:26

标签: django field required django-users

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

1 个答案:

答案 0 :(得分:1)

create_user功能只是一种捷径。您应该使用user = MyUser(field1=arg1, field2=arg2)实例化用户,请记住使用set_password函数作为密码,然后致电user.save()

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