Я нахожу противоречивую информацию о том, следует ли использовать OneToOneField (User) или ForeignKey (User, unique = True) при создании модели UserProfile путем расширения модели пользователя Django.
Лучше ли это использовать?:
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
или это?:
class UserProfile(models.Model):
user = models.OneToOneField(User)
Django Doc указывает OneToOneField, а Пример книги Django использует ForeignKey.
Джеймс Беннетт также имеет две записи в блоге, в которых также приводятся конфликтующие примеры:
В предыдущем посте Беннетт дает некоторые причины, по которым он переключился на использование ForeignKey вместо OneToOneField, но я не совсем понял его, особенно когда вижу другие сообщения, которые рекомендуют обратное.
Мне любопытно узнать ваше предпочтение и почему. Или это даже имеет значение?