考虑继承用于创建用户的django auth用户模型。
class UserProfile(models.Model):
user = models.OneToOneField(User)
class Domain(models.Model):
customer = models.ForeignKey(User)
class EmailAccount(models.Model):
domain = models.ForeignKey(Domain)
我希望为给定的UserProfile实例创建多个用户(用户配置文件是应该只存储一次的客户);如果创建了另一个用户,他将只能管理特定域,从而管理在该域上创建的电子邮件帐户。在登录后,他不应该为同一用户访问在任何其他域上创建的任何电子邮件帐户。我希望使用django admin来执行相同的操作。
答案 0 :(得分:0)
Many-to-many
关系允许任何一方的许多人。
class UserProfile(models.Model):
Users = models.ManyToMany(User)
>>> u1 = User(id=1)
>>> u2 = User(id=2)
>>> user_profile = UserProfile()
>>> user_profile.save()
>>> user_profile.users.all()
[]
>>> user_profile.users.add(u1.id, u2.id)
>>> user_profile.save()
>>> user_profile.users.all()
[<User: User object>, <User: User object>]