Py学习  »  问与答

表单的 .save()方法 为什么不能把表单填写的数据 成功保存到数据中?

HelloSam • 8 年前 • 2824 次点击  
def reporttable(request):
report_table = RepairReport.objects.all()
pre_report_entering_form = ReportEnteringForm()
if  request.method == 'POST':
    pre_report_entering_form = ReportEnteringForm( request.POST )
    if pre_report_entering_form.is_valid():
        report_entering_form = pre_report_entering_form.save( commit = False )
        report_entering_form.save()
        return render_to_response('reporttable.html', RequestContext(request,
                                                                     locals(),
                                                                     )
                                  )
    else:
        return HttpResponse('hello world')
else:
    return render_to_response('reporttable.html',RequestContext(request,
                                                                {'report_entering_form': pre_report_entering_form, 'report_table':report_table}
                                                                )
                              )

以上是我的视图函数。我现在在表单上填写数据,点击保存按钮后,没有成功的把数据保存到数据库中,不知道为什么。请问应该怎么做?

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/1208
 
2824 次点击  
文章 [ 2 ]  |  最新文章 8 年前
allenhuang1984
Reply   •   1 楼
allenhuang1984    8 年前

第二个else返回的不对吧?你最后的那个return语句是不是得放到最外层才行 我之前写过一个类似的 运行没问题啊

def create_product(request): if request.method == 'POST': form = ProductUEditorModelForm(request.POST, request.FILES)

    if form.is_valid(): 
        product = form.save(commit=False)
        product.author = "test"
        product.save()
        return index(request)
    else:
        print form.errors

else:
    form = ProductUEditorModelForm()

return render(request,'secondhand/create_product.html',{'form':form})
shen_gan
Reply   •   2 楼
shen_gan    8 年前

save函数需要自己写。在form的save函数中可存入数据库