我想检查formset是否为空。如果为空,请不要在数据库中创建新记录。我怎样才能做到这一点?。尽管我在form.py中输入了required = False,但请帮助解决这个问题。这是我的代码:
class ExtraValueFormRight(forms.ModelForm):
label = forms.CharField(required=False,
widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Sub Title'}))
somevalue = forms.CharField(required=False,
widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Some Value'}))
class Meta:
model = OrderHeader
fields = ('label', 'somevalue')
HTML:
{{ formset.management_form }}
{% for form in formset.forms %}
<div class='table-left'>
<table class='no_error'>
<div class="form-group">
<div class="col-lg-12">
{{ form.label }}
</div>
</div>
<div class="form-group">
<div class="col-lg-12">
{{ form.somevalue }}
</div>
</div>
</table>
</div>
{% endfor %}
答案 0 :(得分:1)
当您使用ModelForm时,您在表单中使用的模型字段的属性也将影响表单的验证。您应该检查模型属性中label
和somevalue
是否为空。如果要为模型的空字段提供一些默认值,请在模型中使用default
属性。您还可以覆盖表单的save
方法。
用于制作所需的字段,
class ExtraValueFormRight(forms.ModelForm):
label = forms.CharField(required=True,
widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Sub Title'}))
somevalue = forms.CharField(required=True,
widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Some Value'}))
class Meta:
model = OrderHeader
fields = ('label', 'somevalue')