ValueError at /register/ save() запрещена для предотвращения потери данных из-за несохраненного связанного объекта 'user'

Я создаю сайт на django, но моя регистрация не работает, когда я нажимаю submit, я сталкиваюсь с этой ошибкой Я устанавливаю профиль для пользователя, я не уверен, что это правильный способ, так что если есть лучшие способы сделать это, пожалуйста, прокомментируйте

ValueError at /register/
save() prohibited to prevent data loss due to unsaved related object 'user'.

Пожалуйста, помогите, я новичок и буду очень признателен за краткий ответ. Вот вид :

def register(request):
    profiles = UserProfilePage()
    forms = CreateUser()
    if request.method == 'POST':
        profiles = UserProfilePage(request.POST, request.FILES)
        forms = CreateUser(request.POST)
        if forms.is_valid() and profiles.is_valid():
            user = forms.save()
            profile = profiles.save(commit=False)
            profile.user = user
            profile.save()
            group = Group.objects.get(name='user')
            user.groups.add(group)
            username = forms.cleaned_data.get('username')
            password = request.POST.get('password1')
            user = authenticate(request, username=username, password=password)
            login(request, user)
            messages.success(request, 'Account was successfully created for ' + username)
            return redirect('Login_Page')
    ctx = {
        'forms': forms,
        'profiles': profiles,
    }
    return render(request, 'Register.html', ctx)

Формы:

class CreateUser(UserCreationForm):
    class Meta(UserCreationForm.Meta):
        model = User
        fields = ['username', 'email', 'password1', 'password2']
        help_texts = {
            'username': 'This is your identification value so it must be unique'
        }

    def __init__(self, *args, **kwargs):
        super(CreateUser, self).__init__(*args, **kwargs)

        self.fields['username'].widget.attrs['class'] = 'form-control'
        self.fields['email'].widget.attrs['class'] = 'form-control'
        self.fields['password1'].widget.attrs['class'] = 'form-control'
        self.fields['password2'].widget.attrs['class'] = 'form-control'

    def save(self, commit=True):
        user = super().save(commit=False)

        if not commit:
            user.save()

        return user


class UserProfilePage(forms.ModelForm):
    class Meta:
        model = UserProfile
        fields = ['Nick_Name', 'Profile_pic']
        help_texts = {
            'Nick_Name': 'This will act as your display name',
        }

    Profile_pic = CloudinaryFileField(
        options={
            'folder': 'Profile/'
        })

    def __init__(self, *args, **kwargs):
        super(UserProfilePage, self).__init__(*args, **kwargs)

        self.fields['Nick_Name'].widget.attrs['class'] = 'form-control'
        self.fields['Profile_pic'].widget.attrs['onchange'] = 'profile(event)'
        self.fields['Profile_pic'].widget.attrs['class'] = 'form-control'

Модели:

class UserProfile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    date_created = models.DateTimeField(auto_now_add=True)
    Nick_Name = models.CharField(default="Hey", max_length=250)
    Profile_pic = CloudinaryField('Profile_Pic', default="")

    def __str__(self):
        return self.user.username
Вернуться на верх