django内嵌表单集,表单数可变
我正在尝试创建一个包含n个表单的表单集,其中n个表单可能因用户而异。我的问题是,在django oscar电子商务框架中,他们有:django内嵌表单集,表单数可变,django,django-forms,django-oscar,Django,Django Forms,Django Oscar,我正在尝试创建一个包含n个表单的表单集,其中n个表单可能因用户而异。我的问题是,在django oscar电子商务框架中,他们有: BaseStockRecordFormSet = inlineformset_factory(Product, StockRecord, form=StockRecordForm, extra=1) StockRecordFormSet(BaseStockRecordFormSet) 我遇到的问题是无法更改extra=参数。我是Python的新手,但是来自C++
BaseStockRecordFormSet = inlineformset_factory(Product, StockRecord, form=StockRecordForm, extra=1)
StockRecordFormSet(BaseStockRecordFormSet)
我遇到的问题是无法更改extra=参数。我是Python的新手,但是来自C++,所以我的直觉是找到一个模板来替代这个额外的参数,但是我不知道该怎么做。
此外,我还尝试自己在init中创建n-forms,这是可行的,只是它不增加total_form_count,并在formset上抛出错误。是否有效
下面是一个更深入地了解问题的示例。我通过以下方法解决了此问题:
ResizeableBaseStockRecordFormSet=lambda num\u forms:inlineformset\u工厂
Product,StockRecord,form=StockRecordForm,extra=num\u forms,max\u num=num\u forms,can\u delete=False
def stockrecordformset_factorynum_表单:
类StockRecordFormSetResizeableBaseStockRecordFormSetnum_表单:
现在我可以根据需要动态创建额外的字段