Я разрабатываю сайт на Python Django. У меня есть шаблон Register.html с функцией "Регистрация". Я хочу, чтобы мои пользователи размещали свою дополнительную информацию на этой странице после того, как они зарегистрировались на другой странице. Моя проблема заключается в том, что когда мои пользователи впервые помещают свою дополнительную информацию в мою форму, она работает, но затем, если мои пользователи хотят обновить свою информацию из той же формы на той же странице, они получают сообщение об ошибке «Ошибка ограничения UNIQUE: Site_coach.user_id " Я начинающий. Можете ли вы помочь мне исправить эту ошибку?
Мой взгляд.py
from django.shortcuts import render
from .forms import RegisterForm
def Register(request):
form = RegisterForm(request.POST or None, request.FILES)
if form.is_valid():
obj = form.save(commit=False)
obj.user = request.user
form.save()
return render(request, 'Register.html', {'form': form})
Мой сайт/models.py
class coach(models.Model):
user = models.OneToOneField(CustomUser,on_delete=models.CASCADE)
Telephone = models.IntegerField()
TestResult = models.IntegerField(null=True, blank=True)
Level = models.TextField()
Мои пользователи/models.py
from django.contrib.auth.models import AbstractUser, UserManager
from django.db import models
class CustomUserManager(UserManager):
pass
class CustomUser(AbstractUser):
objects = CustomUserManager()
Мои формы.py
from django import forms
from .models import coach
class RegisterForm(forms.ModelForm):
class Meta:
model = coach
exclude = ('user','TestResult')