我正在尝试使用inlineformset创建一个父模型和一些子模型。以下是我的看法。该代码可用于将初始Rfq模型保存到数据库中,但是在尝试将行保存到inlineformset中时出错。这是一对多关系,但是使用ForeignKey字段完成。
# views.py
def rfq_create(request):
form = RfqForm(request.POST or None)
RfqFormSet = inlineformset_factory(Rfq, Rfqlines, form=RfqlinesForm, extra=5, can_delete=True)
lines_formset = RfqFormSet(request.POST or None)
title = "Create a new RFQ"
context = {
"title": title,
"form": form,
"lines_formset": lines_formset,
}
if form.is_valid() and lines_formset.is_valid():
rfq = form.save(commit=False)
rfq.user = request.user
rfq.save()
lines_formset.save()
rfq_list = Rfq.objects.order_by('rfq_id')[:20]
title = "RFQ List"
context = {
"title": title,
"rfq_list": rfq_list
}
return render(request, "rfq.html", context)
return render(request, "rfq_create.html", context)
Run Code Online (Sandbox Code Playgroud)
我试过看官方的Django文档,但是它似乎并不适用...还是不是那么简单。
这是我的回溯
Environment:
Request Method: POST
Request …Run Code Online (Sandbox Code Playgroud)