这篇文章与此有关: Add row to inlines dynamically in django admin
有没有办法在不使用javascript的情况下添加内联表单集?显然,会涉及页面刷新。
所以,如果表单有一个名为'add'的按钮......
我想我可以这样做:
if request.method=='POST':
if 'add' in request.POST:
PrimaryFunctionFormSet = inlineformset_factory(Position,Function,extra=1)
prims = PrimaryFunctionFormSet(request.POST)
我认为每次添加1,然后使用发布数据填充表单。但是,似乎extra = 1不会为帖子数据添加1。
答案 0 :(得分:5)
知道了。
有时这是最简单的解决方案。只需复制request.POST数据并修改TOTAL-FORMS。
例如..
if request.method=='POST':
PrimaryFunctionFormSet = inlineformset_factory(Position,Function)
if 'add' in request.POST:
cp = request.POST.copy()
cp['prim-TOTAL_FORMS'] = int(cp['prim-TOTAL_FORMS'])+ 1
prims = PrimaryFunctionFormSet(cp,prefix='prim')
然后正常吐出表格。保留您的数据,添加内联编辑器。