【问题标题】:How to work with ModelForm and ModelFormSet如何使用 ModelForm 和 ModelFormSet
【发布时间】:2011-08-31 09:35:11
【问题描述】:
我只是想澄清一下。我正在处理Django Form Wizard documentation
在文档中,它谈到了表单向导能够与 ModelForm 和 ModelFormSet 一起“工作”。我想澄清这意味着什么。是不是说Form Wizard可以通过模型将表单的post数据直接保存到数据库中?
我将模型实例作为 instance_dict 参数中的参数传递,但没有成功。当我提交表单时,表单得到处理,但没有任何内容发送到数据库。
谢谢
【问题讨论】:
标签:
python
django
django-formwizard
【解决方案1】:
不,它不会自动保存表单信息!
通常您需要在视图中处理表单。 ModelForm 基本上只是帮助您更轻松地编辑/创建模型实例,当然也更适合您的前端。所以在这里你通常会在你的视图中做一些事情(简而言之):
form = MyForm(data=request.POST)
if form.is_valid(): # checks of the form and its fields validate
form.save()
# else you can do something else, show the validation errors for example
有关更多详细信息,您应该查看docs about how to work with forms 和ModelForm documentation。直接从 FormWizard 开始可能不是一个好主意。 :)