Итак, позвольте мне начать с процесса регистрации на моей веб-странице. Пользователь сначала зарегистрируется, а затем сразу после регистрации он / она будет перенаправлен на страницу, где пользователь должен ввести свою личную информацию, такую как самовведение, полное имя и т. Д. c. Когда пользователь завершит заполнение своей личной информации, он будет перенаправлен на домашнюю страницу.
Я хотел сделать следующее: когда пользователь пытается получить доступ к домашней странице, проверьте, вошел ли он / она в систему. Если да, проверьте, ввел ли он / она личную информацию. Если нет, перенаправьте пользователя на страницу регистрации. Если пользователь заполнил (= существует соответствующий запрос), перенаправьте его / ее на домашнюю страницу. Если нет, перенаправьте его / ее на страницу личной информации, чтобы заполнить поля.
А вот мой код в views.py
def userHome(request):
if request.user.is_authenticated:
current_user = request.user
if PersonalInfo.objects.get(authuser_id=current_user.id).exists():
context = {
'thisUser' : thisUser,
'newSeed' : newSeed
}
return render(request, '/userhome.html', context)
else:
return redirect('/inputpersonalinfo')
else:
return redirect('/register')
models.py
from django.db import models
from django.contrib.auth.models import User
class PersonalInfo(models.Model):
objects = models.Manager()
authuser = models.OneToOneField(User, on_delete=models.CASCADE, related_name = 'personalinfo', null=True, default=None)
name = models.CharField(max_length=50)
...
Я все время получаю сообщение об ошибке: PersonalInfo matching query deos not exist.
Я понимаю, почему это происходит, но не могу придумать решение. Пожалуйста, помогите.