Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
django内嵌表单集,表单数可变_Django_Django Forms_Django Oscar - Fatal编程技术网

django内嵌表单集,表单数可变

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++

我正在尝试创建一个包含n个表单的表单集,其中n个表单可能因用户而异。我的问题是,在django oscar电子商务框架中,他们有:

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_表单:

现在我可以根据需要动态创建额外的字段