2016-11-26 29 views
2

我正在使用內聯formset,並且當其中一個字段在模板中隱藏時我無法提交表單。僅當該字段隱藏在模板中時,內聯formset才起作用

{{ form.provider.as_hidden }} 

當字段以formset的形式顯示時,一切正常。該字段已正確填充,我可以提交表單。

{{ form.provider }} 

任何想法是什麼原因導致此問題?

forms.py 

class DurationForm(forms.ModelForm): 
    class Meta: 
     model = Duration 
     fields = [ 
      'provider', 
      'duration', 
      'price' 
     ] 
     widgets={ 
      "duration":forms.TextInput(attrs={'placeholder':'Duration'}), 
      "price":forms.TextInput(attrs={'placeholder':'Price'}), 
      #"provider":forms.HiddenInput(), 
     } 

回答

1

%的文檔,as_hidden僅用於綁定字段,應該primarily used internally。您應該嘗試使用一個HiddenInput小部件(或MultipleHiddenInput小部件,如果它更適合您的provider字段),並且您的表單應該正常工作。

+0

我試過HiddenInput小部件,但沒有成功。我動態地將表單添加到formset(django-dynamic-formset.js)。如果{{form.provider}}字段具有HiddenInput小部件,則每個額外添加的表單都會阻止表單提交。如果默認窗口小部件存在並且窗體中顯示{{form.provider}},則通常會在每個額外添加的窗體中填充字段。當我使用HiddenInput小部件爲給定字段動態添加額外表單時,然後更改爲默認小部件,並刷新了頁面,我注意到該字段未以額外添加的形式填充。 – Uros

+0

什麼類型的字段是'provider' – YPCrumble

+0

這是另一個模型的ForeignKey字段。 – Uros

相關問題