Python __init__()得到一个意外的关键字参数';实例';使用inlineformset_工厂的自定义formset

Python __init__()得到一个意外的关键字参数';实例';使用inlineformset_工厂的自定义formset,python,django,python-3.x,django-forms,Python,Django,Python 3.x,Django Forms,我犯了这个错误 __init__() got an unexpected keyword argument 'instance' 每当我尝试发送带有为inlineformset\u工厂指定的formset参数的表单时。 知道为什么会这样吗 这是我的密码。抱歉,没有评论,我正在重写它,试图了解django是如何工作的 形式: 视图: def接收(请求): 采购\表单集=在线表单集\工厂( 收据, 购买,, form=PurchaseForm, formset=PurchaseFormSet,如果

我犯了这个错误

__init__() got an unexpected keyword argument 'instance'
每当我尝试发送带有为inlineformset\u工厂指定的formset参数的表单时。 知道为什么会这样吗

这是我的密码。抱歉,没有评论,我正在重写它,试图了解django是如何工作的

形式: 视图:
def接收(请求):
采购\表单集=在线表单集\工厂(
收据,
购买,,
form=PurchaseForm,

formset=PurchaseFormSet,如果您使用的是
inlineformset\u工厂
,那么您的formset类应该继承
BaseInlineFormSet

from django.forms import BaseInlineFormSet

class PurchaseFormSet(BaseInlineFormSet):
    ...
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)
from django.forms import BaseInlineFormSet

class PurchaseFormSet(BaseInlineFormSet):
    ...