Django Обратные отношения "один-к-одному
Я пытаюсь получить доступ к email
и name
через характеристики обратного отношения "один к одному" в моем проекте Django.
мой models.py
:
class MyCustomUser(AbstractUser):
username = models.CharField(max_length=50, unique="True", blank=False, primary_key=True)
password = models.CharField(max_length=200, blank=False)
class Researcher(models.Model):
user = models.OneToOneField(MyCustomUser, null=True, blank=True, on_delete=models.CASCADE)
name = models.CharField(max_length=200, blank=True)
email = models.EmailField(blank=True, unique="True")
в моей views.py
:
def loginView(request):
if request.method == "POST":
user = authenticate(username=request.POST['username'], password=request.POST['password'])
print(user.researcher.name)
if user is not None:
login(request, user)
if user.isResearcher == True:
return redirect('diagnosis:index')
elif user.is_superuser == True:
return redirect('diagnosis:index')
return redirect('diagnosis:index')
в моей template
:
<div class="fw-bolder d-flex align-items-center fs-5">{{ user.researcher.name }}
<p class="fw-bold text-muted text-hover-primary fs-7">{{ user.researcher.email }}</p>
Теперь он показывает ошибку со строкой (views.py
):
print(user.researcher.name)
Кроме того, с помощью {{ user.researcher.email }}
я не могу получить обратный доступ к полю email
в моем шаблоне.
Пожалуйста, подскажите, как я могу это исправить?