【发布时间】:2017-11-07 18:12:17
【问题描述】:
这里的一般问题(更具体地说是针对 Django/Python),例如,在创建诸如 Company 之类的模型时,并且多个用户(员工)将与该模型相关联,不同的模型应该如何关联?
即用户配置文件将通过 OneToOneField 与用户对象相关联。但是 Company 对象是否应该通过 ForeignKey 与 User 对象或 UserProfile 对象相关联,为什么这是合适的方式?
所以
class UserProfile(models.Model): # For the Company Employees
user = models.OneToOneField(UserModel, related_name='employeeprofilemodel', on_delete=models.CASCADE, blank=True,
null=True)
...
company_rel = models.ForeignKey(CompanyModel, related_name='companyrel', null=True)
或
class User(AbstractBaseUser): # For all Users
...
company_rel = models.ForeignKey(CompanyModel, related_name='companyrel', null=True)
【问题讨论】: