Я пытаюсь расширить пользовательскую модель Django по умолчанию, на которую ссылается settings.AUTH_USER_MODEL, с помощью настраиваемой модели UserProfile. В каждом случае, когда я использую OneToOne-Relationship, я также получаю средство доступа к указанной модели. Обычно это работает:
class ModelA(models.Model):
text = models.CharField(max_length=100)
class ModelB(models.Model):
link_to_model_a = models.OneToOneField(ModelA, on_delete=models.CASCADE)
model_a = ModelA()
model_a.modelb # Works fine
Но в данном случае это не работает (фрагмент сокращен):
class UserProfile(models.Model):
# There are more fields, but removed
# for this example
user = models.OneToOneField(
settings.AUTH_USER_MODEL,
on_delete=models.CASCADE
)
from django.contrib.auth import get_user_model
get_user_model().userprofile # Causes AttributeError: type object 'User" has no attribute 'userprofile'
Я не смог найти никакой информации о том, может ли это явление появиться из-за отношение к пользовательской модели djangos по умолчанию. Может быть, они по-особенному относятся к этому и не разрешают обратный доступ?
Я очень благодарен за любую помощь в этом вопросе.