【发布时间】:2021-03-10 06:10:57
【问题描述】:
通常,在向导中,我们以静态方式声明表单或表单集,例如:
form_class=formset_factory(MyForm, min_num=1, extra=5) # let's say this is step '4'
但是现在,如果我需要第 3 步的数据,知道如何为第 4 步的表单集定义 min_num 或 extra 值怎么办?
我正在考虑在get_form() 方法中做这样的事情:
def get_form(self, step=None, data=None, files=None):
form = super().get_form(step, data, files)
# ....
elif step == '4':
step3_data = self.storage.get_step_data('3')
# ... here I would parse step 3 data, to be able to define:
computed_step_4_min_num = 5
computed_step_4_extra = 10
# And here I would need to call formset_factory(min_num=computed_step_4_min_num,
extra=computed_step_4_extra),
# but how? This is obviously not the right place for this call.
虽然在get_form() 方法中编辑表单字段属性很容易,但我没有找到以动态方式定义正确数量的表单集的方法。
我阅读了文档,但我可能会错过它。感谢您的帮助。
【问题讨论】:
标签: python django django-forms django-formwizard