У меня проблема с начальным значением скрытого поля в модели, развернутой в наборе форм. Только первая форма имеет начальное значение в скрытом поле, а остальные пустые.Исходное значение для скрытого поля 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)
И класс formet создается в виде класса:
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, только post_docs скрытые поля в первой форме данных formset заполняется с начальным значением, другие нет.
Как я могу инициализировать другие формы?
Спасибо!
Спасибо !, но в форме мы добавляем новые формы с помощью jQuery Formset pluguin, в этом случае нам нужно будет присвоить значение скрытого поля javascript? –
У меня нет возможности проверить его, но потенцированно вы можете изменить способ инициализации нового поля в заданном наборе форм. Взгляните на этот вопрос - [http://stackoverflow.com/questions/1500121/django-how-to-set-initial-values-for-a-field-in-an-inline-model-formset](http : //stackoverflow.com/questions/1500121/django-how-to-set-initial-values-for-a-field-in-an-inline-model-formset) - это должно решить вашу проблему. – user1544500