[英]How to allow empty forms in a formset django
我想检查表单集是否为空。 如果为空,请不要在数据库中创建新记录。 我怎样才能做到这一点?。 尽管我在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 %}
当您使用ModelForm时,您在表单中使用的模型字段的属性也会影响表单的验证。 您应该从模型属性中检查label
和somevalue
是否可以为null。 如果要为模型的空白字段提供一些默认值,请在模型中使用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')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.