Django IntegrityError (1048, "Column 'newuser_id' cannot be null")

enter image description here Я новичок в Django. В основном, я пытаюсь создать поле подтверждения пароля, но когда я пытаюсь отправить форму, я получаю эту ошибку: (1048, "Column 'newuser_id' cannot be null")

models.py

forms.py

            from django import forms
            from django.forms import ModelForm
            from .models import NewUser, RepeatPW
            
            
            class Person(ModelForm):
                email = forms.EmailField()
                username = forms.CharField()
            
                first_name = forms.CharField()
                middle_name = forms.CharField()
                last_name = forms.CharField()
            
                # added manually
                #day = forms.IntegerField()
                #month = forms.IntegerField()
                #year = forms.IntegerField()
            
                gender = forms.ChoiceField
                country = forms.ChoiceField
            
                class Meta:
                    model = NewUser
                    fields = ["username", "email", "first_name", "middle_name", "last_name",
                              "gender", "country", "password"]
            
            
            class RepeatPassword(ModelForm):
            
                class Meta:
                    model = RepeatPW
                    fields = ["password"]

и views.py

            from django.contrib.auth.hashers import check_password
            from django.shortcuts import render, redirect
            from django.contrib import messages
            from .forms import Person, RepeatPassword
            from django.contrib.auth import authenticate, login, logout
            from .models import NewUser
            
            
            # Create your views here.
            def register(request):
                if request.user.is_authenticated:
                    return redirect('profiles')
                else:
                    if request.method == 'POST':
                        first_form = Person(request.POST)
                        second_form = RepeatPassword(request.POST)
            
                        if first_form.is_valid() and second_form.is_valid():
                            first_form.save()
                            second_form.save()
            
                            username = first_form.cleaned_data.get("username")
                            password = first_form.cleaned_data.get("password")
                            confirm_password = second_form.cleaned_data.get("password")
            
                            match_check = check_password(password, confirm_password)
            
                            if match_check == True:
                                messages.success(request, f"Account created for {username}!")
                                return redirect("login_user")
                            else:
                                raise ValueError("Password don't match!")
            
                    else:
                        first_form = Person()
                        second_form = RepeatPassword()
                    return render(request, "accounts/register.html", {"first_form": first_form, "second_form": second_form})

Бессмысленно пытаться передать значения из first_form, так как у первой формы нет id. Я пытался обратиться к базе данных и получить оттуда id после сохранения первой_формы, но потерпел неудачу. Если у вас есть идеи, как я могу получить id NewUser в RepeatPW, пожалуйста, дайте мне знать. Или если у вас есть идеи, как я могу проверить пароль без всех этих хлопот, пожалуйста, дайте мне знать. Большое спасибо!

Вернуться на верх