1
我在模板表單中部署的formset中隱藏字段的初始值有問題。只有第一種形式在隱藏字段中具有初始值,其他字段爲空。Formset隱藏字段的初始值
的的ModelForm是:
class md_changelogFormModel(forms.ModelForm):
post_docs = forms.CharField(widget=forms.HiddenInput(),
initial="READY_FOR_RUN")
# Other fields
class Meta:
model = md_changelog
fields = '__all__'
同樣的模型md_changelog以基於在BaseInlineFormSet形式使用:
class md_changelogForm(BaseInlineFormSet)
class Meta:
model = md_changelog
fields = '__all__'
而且一個formset類與inlineformset_factory創建:
md_changelogFormSet = inlineformset_factory(md_orderlog, md_changelog,
form=md_changelogFormModel,
formset=md_changelogForm,
extra=1, max_num=20)
而formset類是在基於類的視圖中實例化的:
def get(self, request, *args, **kwargs):
"""
Handles GET requests and instantiates blank versions of the form
and its inline formsets.
"""
self.object = None
form_class = self.get_form_class()
form = self.get_form(form_class)
md_changelog_form = md_changelogFormSet(initial=[{'post_docs':'READY_FOR_RUN'}])
return self.render_to_response(
self.get_context_data(form=form,
md_changelog_form=md_changelog_form))
的問題是,當交函數接收request.POST,只隱藏字段在該formset數據的第一形式填充有初始值的post_docs,其餘沒有。
如何初始化其他表單?
謝謝!
Thanks !,但是在表單中我們用jQuery Formset pluguin添加了新的表單,在這種情況下,我們需要爲javascript分配隱藏的字段值? –
我沒有測試它的可能性,但從本質上來說,您可以更改給定formset中新字段的初始化方式。看看這個問題 - [http://stackoverflow.com/questions/1500121/django-how-to-set-initial-values-for-a-field-in-an-in-line-model-formset](http ://stackoverflow.com/questions/1500121/django-how-to-set-initial-values-for-a-field-in-an-inline-model-formset) - 這應該可以解決你的問題。 – user1544500