【发布时间】:2021-03-12 03:05:48
【问题描述】:
我正在使用 Django 作为后端创建一个 Web 应用程序,我想知道在处理表示用户帐户信息(用户名、密码、电子邮件等)的模型时,最佳实践是什么。我知道现有的User 模型,以及creating a custom user model 通过子类化AbstractUser 的做法。但是,我很困惑这与子类化 models.Model 并从头开始创建我自己的用户模型有何不同。
有人对在这种情况下的最佳做法有什么建议吗?
【问题讨论】:
-
一般来说,当开始一个新项目时,应该始终使用自定义用户模型,即使它只是扩展
AbstractUser并且没有任何新内容。如果以后出现一些导致我们需要自定义用户模型的新要求,这会很容易。 -
当然可以简单地继承
models.Model,但这意味着必须记住包含Django对用户模型的所有期望。一般来说,如果一个人想要定制更多的东西,他们会继承AbstractBaseUser而不是AbstractUser