Model.save() получил неожиданный аргумент ключевого слова 'commit' Ошибка django

пытаюсь реализовать форму регистрации и получаю вот такую ошибку: Model.save() получил неожиданный аргумент ключевого слова 'commit'

И я написал метод сохранения, но все равно получаю ошибку

forms.py

class RegisterForm(forms.ModelForm):
class Meta:
    model = CustomUser
    fields = ['email', 'password', 'password2']


    def save(self, commit=True, *args, **kwargs):
        user = super(RegisterForm, self).save(commit=False)
        user.email = self.cleaned_data['email']
        user.password = self.cleaned_data['password']
        if commit:
            user.save()

        return user

views.py

class UserRegisterView(View):
User = get_user_model()
form_class = forms.RegisterForm
template_name = 'account/register.html'

def dispatch(self, request, *args, **kwargs):
    if request.user.is_authenticated == True:
        return redirect('home:home')
    return super().dispatch(request, *args, **kwargs)

def get(self, request):

    form = self.form_class()
    return render(request, self.template_name, {'form': form})

def post(self, request):
    form = self.form_class(request.POST)
    if form.is_valid():
        user_email = form.cleaned_data.get('email')
        user_password = form.cleaned_data.get('password')
        new_user = CustomUser(email=user_email)
        new_user.set_password(user_password)
        new_user.is_active = False
        new_user.save(commit=False)
        activateemail(request, new_user, user_email)


        return redirect('account:user_login')

    return render(request, self.template_name, {'form': form})

Django Model.save не имеет параметра commit, смотрите здесь подробно. Поэтому удалите commit=False из new_user.save(commit=False). Если вы посмотрите код, new_user является экземпляром модели new_user = CustomUser(email=user_email), а не экземпляром формы.

Возможно, вы путаете метод Form.save.

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