2016-05-16 5 views
0

formsetが空であるかどうかチェックしたいですか?空の場合は、データベースに新しいレコードを作成しないでください。どうやってやるの?。私はrequired = Falseをform.pyに入力しましたが、この問題を解決してください。formset djangoで空のフォームを許可する方法

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

。あなたのforset作成コードを表示できますか? (あなたのビューコード、私は推測する)。テンプレートコードでは、formsetループの各フォームの{{form.id}}がないことに注意してください。 –

答えて

1

あなたはのModelFormを使用しているとして、あなたはあなたの中に使用しているモデルフィールドのプロパティは、フォームの検証に影響を与えるだろう形成これは私のコードです。 labelsomevalueは、モデルのプロパティからnullかどうかを確認する必要があります。モデルの空欄にデフォルト値を指定する場合は、モデル内のdefaultプロパティを使用します。フォームのsaveメソッドをオーバーライドすることもできます。必要なフィールドを作るための

、通常ジャンゴModelFormSetは正確に(ユーザーがフォームに記入しなかった場合、彼らは、DBに新しいオブジェクトを作成しません)ないこと

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') 
+0

formsetが空であるかどうかチェックしたいですか?空の場合は、データベースに新しいレコードを作成しないでください。どうやってやるの?フォームフィールドに –

+0

を入力し、required = Trueを設定します。空のフォームを提出することはできません。 –

関連する問題