我发现有关是否使用OneToOneField(User)
或何时通过扩展 Django User 模型来ForeignKey(User, unique=True)
创建模型的信息相互矛盾。UserProfile
使用这个更好吗?:
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
或这个?:
class UserProfile(models.Model):
user = models.OneToOneField(User)
Django Doc指定OneToOneField
,而Django Book 示例使用ForeignKey
.
James Bennett也有两篇博客文章也提供了相互矛盾的例子:
ForeignKey
在前一篇文章中,Bennett 提供了他改用 using而不是 的一些原因OneToOneField
,但我不太明白,尤其是当我看到其他推荐相反的帖子时。
我很想知道你的偏好和原因。或者,它甚至重要吗?