我得到了这个错误
__init__() got an unexpected keyword argument 'instance'
每当我尝试发送为inlineformset_factory指定formset参数的窗体时。 你知道为什么会这样吗?在
这是我的密码。抱歉,它没有评论我正在重写它,试图了解django是如何工作的
def receipt(request):
purchase_formset = inlineformset_factory(
Receipt,
Purchase,
form = PurchaseForm,
formset = PurchaseFormSet, <-- when I comment this everything works fine
)
if request.method == 'POST':
receipt_form = ReceiptForm(
request.POST,
prefix = 'receipt'
)
if receipt_form.is_valid():
receipt = receipt_form.save()
receipt_form = ReceiptForm(
instance = receipt,
prefix = 'receipt'
)
purchases_form = purchase_formset(
request.POST,
prefix = 'purchase',
instance = receipt <-- line that causes error according to traceback
)
if purchases_form.is_valid():
purchases_form.save()
return redirect('spendings:receipt')
else:
receipt_form = ReceiptForm(
instance = Receipt(),
prefix = 'receipt'
)
purchases_form = purchase_formset(
prefix = 'purchase'
)
context = {
'receipt_form': receipt_form,
'purchases_form': purchases_form
}
return render(request, 'spendings/receipt/index.html', context)
如果使用的是
inlineformset_factory
,那么formset类应该继承BaseInlineFormSet
。在相关问题 更多 >
编程相关推荐