ОШИБКА: повторяющаяся запись нарушает исключительное ограничение "user_otherinfo_user_id_key" ДЕТАЛИ: ключ "(user_id) = (52)" уже существует.
После добавления пользователем процесса обновленияЯ получаю такую ошибку при регистрации.
views.py
def register(request):
form = RegisterForm(request.POST or None,request.FILES or None )
if form.is_valid():
user = form.save(commit=False)
first_name = form.cleaned_data.get('first_name')
last_name = form.cleaned_data.get('last_name')
username = form.cleaned_data.get("username")
email = form.cleaned_data.get('email')
password = form.cleaned_data.get('password1')
phone = form.cleaned_data.get('phone_number')
location = form.cleaned_data.get('location')
profile_image = form.cleaned_data.get('profile_image')
user.set_password(password)
user.save()
new_user = authenticate(username=user.username, first_name=first_name, last_name=last_name, email=email, password=password)
OtherInfo.objects.create(user=new_user,phone=phone,location=location,
profile_image=profile_image)
login(request,new_user)
messages.info(request,"Successfully Register...")
return redirect("/")
context = {
"form" : form
}
return render(request,"user/register.html",context)
models.py
class OtherInfo(models.Model):
user = models.OneToOneField(User,on_delete=models.CASCADE)
phone = models.CharField(max_length=11,verbose_name="Phone Number")
location = models.CharField(max_length=50,verbose_name="Location")
profile_image = models.FileField(blank = True,null = True,verbose_name="Image")
forms.py
class RegisterForm(forms.ModelForm):
email = forms.EmailField()
password1 = forms.CharField(max_length=100, label='Parola',widget=forms.PasswordInput())
password2 = forms.CharField(max_length=100, label='Parola Again', widget=forms.PasswordInput())
phone_number = forms.CharField(required=False, max_length=11, label='Phone Number')
location = forms.CharField(required=False, max_length=50, label='Location')
profile_image = forms.FileField(required=False, label="Image")
class Meta:
model = User
fields = [
'first_name',
'last_name',
'email',
'username',
'password1',
'password2',
'phone_number',
'location',
'profile_image',
]
В Django пользователь может зарегистрироваться перед обновлением профиля.Когда я добавляю код обновления профиля, теперь пользователь не может зарегистрироваться.
Как я могу решить проблему?