在Django中自定义身份验证
Django 内建的User 模型可能不适合某些类型的项目。例如,在某些网站上使用邮件地址而不是用户名作为身份的标识可能更合理。
Django 允许你通过AUTH_USER_MODEL 设置覆盖默认的User 模型, 其值引用一个自定义的模型。
AUTH_USER_MODEL = 'myapp.MyUser'
上面的值表示Django 应用的名称(必须位于INSTALLED_APPS 中) 和你想使用的User 模型的名称。
注意
改变 AUTH_USER_MODEL 对你的数据库结构有很大的影响。它改变了一些会使用到的表格,并且会影响到一些外键和多对多关系的构造。如果你打算设置AUTH_USER_MODEL, 你应该在创建任何迁移或者第一次运行 manage.py migrate 前设置它。