Форма не заполняется данными из запроса
Форма не заполнена данными из запроса.
Это forms.py :
class RulesForm(forms.Form):
def __init__(self, *args, **kwargs):
super(RulesForm, self).__init__(*args, **kwargs)
self.add_fields()
self.label_suffix = ""
def add_fields(self):
rules = Rule.objects.all()
for a in rules:
self.fields[a.id] = forms.BooleanField(label=a.rule, required=False)
И мой views.py :
def my_rule(request):
rules_form = RulesForm()
if request.method == "POST":
rules_form = RulesForm(request.POST)
if rules_form.is_valid():
print(request.POST)
print(rules_form.cleaned_data)
context= {'rules_form': rules_form}
return render(request, 'rules/sign_rule.html', context)
Когда я проверяю, что содержит request.POST, я вижу, что это значение отмечено в чекбоксе. Например, если 16 отмечено :
<QueryDict: {'csrfmiddlewaretoken': ['qS2scx96GcoTq6iL1V6dZO0cdB2LF2q717Q19zvahdwg3U0gS1r1SjmCzvd9mb0B'], '16': ['on']>
Но я вижу это как False, а не True в очищенных данных :
{2: False, 3: False, 4: False, 7: False, 8: False, 9: False, 10: False, 11: False, 12: False, 13: False, 14: False, 15: False, 16: False, 17: False, 18: False}
Почему?