【问题标题】:Data in child / detail form not displaying未显示子/详细表单中的数据
【发布时间】:2017-02-08 01:50:06
【问题描述】:

我有以下视图,其中包含两个模型的内联表单集:

  1. 订单,主/父模型
  2. LineitemInfo,细节/子模型。

表单集

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

编辑 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

【问题讨论】:

    标签: django django-views


    【解决方案1】:

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

    lineitem_formset = LineFormSet(instance=Orders())
    

    应该是:

    lineitem_formset = LineFormSet(instance=order)
    

    【讨论】:

      猜你喜欢
      • 2016-04-04
      • 1970-01-01
      • 2017-12-16
      • 1970-01-01
      • 2014-09-26
      • 1970-01-01
      • 2018-06-24
      • 2020-03-13
      • 1970-01-01
      相关资源
      最近更新 更多