我正在使用ModelFormSet
,我的实例获得None
值。 POST
数据正在传播中;表格有效;一切都很好,直到instances = form.save(commit=False)
。这可能是什么原因?
if request.POST:
form = MembershipFormSet(request.POST)
if form.is_valid():
instances = form.save(commit=False)
for instance in instances:
instance.user = request.user
instance.save()
return HttpResponseRedirect('next_page')
else:
return HttpResponse(form.errors + request.POST.items())
答案 0 :(得分:2)
试试这个:
if request.POST:
formset = MembershipFormSet(request.POST)
if formset.is_valid():
for form in formset:
instance = form.save(commit=False)
instance.user = request.user
instance.save()
return HttpResponseRedirect('next_page')
else:
return HttpResponse(formset.errors + request.POST.items())
您的问题在这里:
instances = form.save(commit=False)
问题是,您需要提取单个表单对象,将其强制转换为对象实例,并为其指定user
。在您的代码中,instances=form.save(...)
没有这样做。