我正在尝试构建一个具有注册和登录功能的Django系统,并且我还希望登录的用户应该能够在其个人资料中添加注释。我应该采用哪种方法来构建模型?...为User创建OneToOneField或创建自定义Django User模型。请帮忙!
答案 0 :(得分:0)
有几种不同的处理方法。但是,对于所有用户详细信息,在用户模型和配置文件模型之间创建一个OneToOneField可能是最容易的。当然,只有当您对django构造其用户模型的方式感到满意时,这才有意义。
如果您对django处理身份验证的方式感到满意,但只想用电子邮件替换用户名并添加一些额外的字段,则可以扩展AbstractUser
如果您不喜欢它处理身份验证的方式,则可以尝试扩展AbstractBaseUser。
我个人可能会扩展AbstractUser并使用它。您的注释模型可以具有用户的ForeignKey。
编辑:我发现此stackoverflow提供了更详细的答案Extending the User model with custom fields in Django。