Почему значение BooleanField не сохраняется в базу? django forms CheckboxInput

почему не сохраняется значение card_pay в модель?

forms

class card_pay_SpecialCheckboxInput(forms.CheckboxInput):
    template_name = "include/_forms_textinput_card.html"

class RelatedAddForm(forms.ModelForm):
    card_pay = forms.BooleanField(label=False, required=False, widget=card_pay_SpecialCheckboxInput(attrs={}))

    def __init__(self, *args, **kwargs):
        self.request = kwargs.pop('request', None)
        super(RelatedAddForm, self).__init__(*args, **kwargs)
        self.fields['money'].initial = ''

    class Meta:
        model = Money
        fields = ['money', 'card_pay']
        widgets = {
            'money': forms.TextInput(attrs={'class': 'form-control','placeholder': 'Стоимость'}),
        }

models

class Money(models.Model):
    money = models.DecimalField(max_digits=19, default=0, decimal_places=2)
    card_pay = models.BooleanField(default=False)

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

from django.db import models

class Money(models.Model):
    money = models.DecimalField(max_digits=19, default=0, decimal_places=2)
    card_pay = models.BooleanField(default=False)

forms

from django import forms
from .models import Money

class MoneyForm(forms.ModelForm):
    class Meta:
        model = Money
        fields = ['money', 'card_pay']

views

from django.shortcuts import render, redirect
from .forms import MoneyForm

def money_view(request):
    if request.method == 'POST':
        form = MoneyForm(request.POST)
        if form.is_valid():
            form.save()
            return redirect('success_url')
    else:
        form = MoneyForm()
    return render(request, 'money_form.html', {'form': form})

money_form.html

<form method="post">
    {% csrf_token %}
    {{ form.as_p }}
    <input type="submit" value="Submit">
</form>
Вернуться на верх