Не удается получить доступ к обратной связи в моделях Django OneToOneField - PullRequest
0 голосов
/ 06 января 2019

Я пытаюсь расширить пользовательскую модель, следуя инструкциям здесь и здесь .

У меня есть модель с именем Профиль, как это:

class Profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    first_name = models.TextField(max_length=30)
    last_name = models.CharField(max_length=30)
    email = models.CharField(max_length=300)
    country = models.CharField(max_length=30)
    city = models.CharField(max_length=30)
    organization = models.CharField(max_length=30)

EDIT:

Вот как я обрабатываю изменения пользователя

@receiver(post_save, sender=User)
def create_user_profile(sender, instance, created, **kwargs):
    if created:
        Profile.objects.create(user=instance)

@receiver(post_save, sender=User)
def save_user_profile(sender, instance, **kwargs):
    instance.profile.save()

Я ожидаю, что смогу получить доступ к модели, как:

>>>> user = User.objects.get(pk=23)
>>>> user.profile

Вместо этого я получаю описанную здесь ошибку (немного длинную для вставки): https://pastebin.com/NRQVM0NK

У вас есть какие-нибудь намеки, чтобы отцепить меня?

Большое спасибо

...