models.py:
class Data(models.Model):
name = models.CharField(max_length=250)
is_big = models.BooleanField(default=False)
forms.py:
class DataForm(ModelForm):
class Meta:
model = Data
exclude = ['is_big']
Instead is_big from models form I created (in template):
<div class="id_is_big-control-group control-group">
<div class="controls">
<label class="checkbox">
<input type="checkbox" disabled="disabled" checked="checked" name="is_big" id="id_is_big" /> <span>Is big?</span>
</label>
</div>
How to save this value in database?
form = DataForm(request.POST)
if form.is_valid():
d = form.save(commit=False)
d.is_big = form.cleaned_data['is_big']
d.save()
return error: KeyError at /site/ ‘is_big’
You have excluded the
is_bigfrom model form. That is why it is not present in thecleaned_data. You need to get the value fromPOST: