Я создаю проект Django и хочу создать профили двух разных типов пользователей в качестве отдельной модели. У них будет связь OneToOneField с вошедшим в систему пользователем.
class UserMusician(models.Model):
...
class UserFan(models.Model):
...
Я видел два разных способа сделать это. Один, согласно документам Django 2.1, показывает прохождение в модели User
, т.е.
from django.contrib.auth.models import User
class UserMusician(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
В то время как другие примеры, такие как книга Two Scoops of Django , предлагают передать settings.AUTH_USER_MODEL
, т. Е .:
from django.conf import settings
class UserMusician(models.Model):
user = models.OneToOneField(settings.AUTH.USER.MODEL)
Может кто-нибудь сказать мне, в чем различия и каковы преимущества и недостатки любого из них?
Я хотел бы, чтобы эти профили создавались в базе данных при создании учетной записи пользователя, одной или другой.
(«Приятно иметь», я хотел бы позволить UserFan на более поздний момент стать UserMusician, если они решат переключиться)