我在寻找有关在扩展Django User模型创建UserProfile模型时,是使用OneToOneField(User)
还是ForeignKey(User, unique=True)
的矛盾信息。
哪种方法更好?:
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
或者这样做?class UserProfile(models.Model):
user = models.OneToOneField(User)
Django文档使用OneToOneField
,而Django书籍示例使用ForeignKey
。
James Bennett也有两篇博客文章提供了相互矛盾的示例:
在前一篇文章中,Bennett提供了一些原因,解释为什么他改用ForeignKey
而不是OneToOneField
,但我并不太明白,尤其是当我看到其他文章推荐相反的时候。
我想知道你的偏好以及原因。或者说,这真的重要吗?