如何将用户配置文件与其他用户配置文件关联?

时间:2014-05-02 17:09:57

标签: django python-2.7 django-models user-profile

将用户配置文件与同一类的对象相关联的最佳方法是什么。就我而言,父母双方都是User Profile类型的属性。 我的问题是,如果我为每个父项创建一个字段,或者与User Profile创建ManyToMany关系,或者该关系应该与User。 父亲和母亲都是该系统的成员。

我的课程:

class UserProfile(models.Model):
     user = models.OneToOneField(User)
     father = models.ForeignKey(UserProfile)
     mother = models.ForeignKey(UserProfile)

或:

class UserProfile(models.Model):
     user = models.OneToOneField(User)
     father = models.ForeignKey(User)
     mother = models.ForeignKey(User)

或:

class UserProfile(models.Model):
     user = models.OneToOneField(User)
     parents = models.ManyToManyField(UserProfile)

或:

class UserProfile(models.Model):
     user = models.OneToOneField(User)
     parents = models.ManyToManyField(User)

什么是最好的方式?

1 个答案:

答案 0 :(得分:-2)

class UserProfile(models.Model):
     user = models.OneToOneField(User)
     father = models.ForeignKey(User)
     mother = models.ForeignKey(User)