我有一个模板,显示由formset对象表示的主要详细信息表单。那部分工作正常。我有一个只读的第二个细节模型,我希望在与主细节表格相同的模板上显示。
我的观点:
var startDate = date.Date;
var endDate = date.Date.AddDays(1);
return db.Events
.Where(e =>
e.BedId == bed
&& e.Date >= startDate
&& e.Date < endDate)
.Select(x => new EventViewModel()
{
Id = x.Id,
Date = x.Date,
StartTime = x.StartTime,
EndTime = x.EndTime,
Planned = x.Planned,
EngineSN = x.EngineSN,
Details = x.Details,
Bed = x.Bed.Name,
Category = x.Subcategory.Category.Name,
Subcategory = x.Subcategory.Name,
Project = x.Project.Name,
Type = x.Type.ToString()
})
.ToList();
我已经阅读了很多关于这个主题的帖子,但似乎无法在我的模板上渲染第三个模型。这是我的模特。
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()
#order.date_ordered = timezone.now()
#order.save()
return redirect('order_list')
else:
form = OrderForm(instance=order)
#lineitem_formset = LineFormSet(instance=Orders()) This was wrong. It was calling a new instance of Orders which was blank
lineitem_formset = LineFormSet(instance=order)
modification_formset = ModificationFormSet(instance=order)
return render(request, "orders/order_edit.html", {"form": form, "lineitem_formset": lineitem_formset,"modification_formset": modification_formset })
这是我尝试在模板上呈现的第三个模型。前两个作为formset的一部分呈现。 TIA。