未显示子/详细信息表单中的数据

时间:2017-02-08 01:50:07

标签: django django-views

我有两个模型的inlineformset以下视图:

  1. 订单,主/父模型
  2. LineitemInfo,细节/儿童模型。
  3. 表单集

    LineFormSet = inlineformset_factory(Orders, LineitemInfo,
    can_delete=True,
    exclude = ('ordernotes',))
    

    edit order_edit视图适用于主/父窗体,但不显示子记录。我可以将记录添加到子表单中并保存,但是当我选择该记录时它们不显示(我单独检查了数据库)。

    def order_edit(request, pk):
    order = get_object_or_404(Orders, pk=pk)
    if request.method == "POST":
        form = OrderForm(request.POST, instance=order)
        if form.is_valid():
            order = form.save(commit=False)
            lineitem_formset = LineFormSet(request.POST, instance=order)
            if lineitem_formset.is_valid():
                order.save()
                lineitem_formset.save()
    
            return redirect('order_list')
    else:
        form = OrderForm(instance=order)
        lineitem_formset = LineFormSet(instance=Orders())
    return render(request, "orders/order_edit.html", {"form": form, "lineitem_formset": lineitem_formset, })
    

    我只是在子/详细信息表单上获取数据应显示的空白字段。我错过了什么? TIA

1 个答案:

答案 0 :(得分:0)

尽管我讨厌回答我自己的问题,但我正在调用一个空的Order()模型的实例而不是填充模型的实例。所以:

lineitem_formset = LineFormSet(instance=Orders())

应该是:

lineitem_formset = LineFormSet(instance=order)