繁体   English   中英

如何在表单集Django中允许空表单

[英]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时,您在表单中使用的模型字段的属性也会影响表单的验证。 您应该从模型属性中检查labelsomevalue是否可以为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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM