我正在开始我的第一个 django 项目,想知道哪种方法最适合在 User
和 Company
模型之间创建关系。
选项 1 - 使用现有的 django 用户模型并创建用户配置文件模型
Class UserProfile(models.Model):
user = models.OneToOneField(User)
company = models.ForeignKey(Company)
选项 2 - 创建自定义用户模型
Class MyUser(AbstractBaseUser):
"all of the required user data -- left off for brevity"
company = models.ForeignKey(Company)
我对基本用户模型没有任何问题,如果应用程序规模扩大,我更关心的是性能。我意识到选项 1 需要额外的数据库命中;但是,我喜欢用户配置文件的灵活性,可以对其进行修改以包含其他条件。
您更喜欢哪个选项,或者有更好的方法吗?
最佳答案
我决定创建 UserProfile 以提供额外的灵活性。虽然我们不知道应用程序将如何增长,但我们认为保持我们的域尽可能灵活非常重要。感谢您的所有反馈。
关于Django 用户模型外键到公司,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25583894/