Django Crispy Form не добавляет и не обновляет базу данных

Здравствуйте, я пишу небольшой проект об автомастерской и вот с какой проблемой я столкнулся.

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

views.py

class AddProductView(View):
    action = 'Add'
    template_name = 'myApp/manipulate_product.html'
    context = {

    }
    form_class = ManipulateProductForm

    def get(self, req, *args, **kwargs):
        form = self.form_class()
        self.context['action'] = self.action
        self.context['form'] = form
        return render(req, self.template_name, self.context)

    def post(self, req, *args, **kwargs):
        form = self.form_class(req.POST or None)
        if form.is_valid():
            form.save()
        else:
            print(form.errors)

        return redirect('products', permanent=True)

models.py

class Car(models.Model):
    name = models.CharField(max_length=32)
    model = models.CharField(max_length=32, unique=True)
    price = models.IntegerField(validators=[
        MinValueValidator(0),
    ])

    def __str__(self):
        return f'{self.name} {self.model}'

forms.py

class ManipulateProductForm(forms.ModelForm):
    def __init__(self, action="Submit", *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.action = action
        self.helper = FormHelper(self)
        self.helper.add_input(Submit('submit', self.action, css_class='btn btn-primary'))

    class Meta:
        model = Car
        fields = '__all__'

manipulate_product.html

{% extends 'base.html' %}
{% load static %}
{% load crispy_forms_tags %}

{% block content %}
    <div class="product-manipulate-container">
        {% crispy form form.helper%}
    </div>
{% endblock %}

Я уверен, что проблема в Crispy, потому что если я заменю код в forms.py и manipulate_product.html на этот

forms.py

class ManipulateProductForm(forms.ModelForm):
    class Meta:
        model = Car
        fields = '__all__'

manipulate_product.html

{% extends 'base.html' %}
{% load static %}
{% load crispy_forms_tags %}

{% block content %}
    <div class="product-manipulate-container">
        <form action="" method="POST">
            {% csrf_token %}
            {{ form.as_div }}
            <input type="submit" value="Submit">
        </form>
    </div>
{% endblock %}

Все работает нормально!

Я заметил, что когда я использую Crispy в методе AddProductView post <<<Метод is_valid() возвращает False, но без Crispy возвращает True

Я перепробовал все, кроме одного - удалить весь проект и начать заново. Я искал на youtube, google, stackoverflow, но не нашел ничего похожего. Посмотрел документацию Crysp, но там тоже пусто.

Надеюсь, кто-то сталкивался с этой проблемой и сможет мне помочь.

Спасибо!

Попробуйте переписать вашу форму следующим образом:

class ManipulateProductForm(forms.ModelForm):
    def __init__(self, *args, **kwargs):
        super(ManipulateProductForm, self).__init__(*args, **kwargs)
        self.helper = FormHelper(self)
        self.helper.form_action = 'Submit'
        self.helper.add_input(Submit('submit', 'Submit', css_class='btn btn-primary'))

    class Meta:
        model = Car
        fields = '__all__'

А в своем шаблоне вы можете просто сделать следующее, так как вы использовали имя помощника по умолчанию:

{% crispy form %}
Вернуться на верх