Я нахожу противоречивую информацию о том, следует ли использовать OneToOneField (User) или ForeignKey (User, unique = True) при создании модели UserProfile путем расширения модели пользователя Django.Django: При расширении User лучше использовать 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 Doc задающий OneToOneField, в то время как Django Book example использует ForeignKey.
James Bennett также имеет два сообщения в блоге, что обеспечивающие противоречивые примеры, а также:
В первом посте, Беннет обеспечивает некоторые причины, почему он перешел к использованию ForeignKey вместо OneToOneField, но я не совсем понимаю, особенно когда вижу другие сообщения, которые рекомендуют обратное.
Мне любопытно узнать ваше предпочтение и почему. Или это даже имеет значение?
Я ничего не вижу в первой статье Беннетта относительно профилей пользователей. –
@ Игнасио - Извините, я добавил ссылку на неправильную статью. Должно быть, это был его пост «Расширение модели пользователя». Я исправил ссылку. Спасибо за указание на это. –
Для меня, http://stackoverflow.com/questions/5870537/whats-the-difference-between-django-onetoonefield-and-foreignkey понятнее понимать –