ModelForm 还有一个 save() 方法。

root
abc abc
  • 17 Jul

https://docs.djangoproject....
save() 方法¶
每个 ModelForm 还有一个 save() 方法。此方法根据绑定到表单的数据创建并保存数据库对象。 ModelForm 的子类可接受一个现有的模型实例作为关键字参数 instance ;如果提供了,则 save() 会更新这个实例。如果没有,则 save() 会创建一个对应模型的新实例。

from myapp.models import Article
from myapp.forms import ArticleForm

Create a form instance from POST data.

f = ArticleForm(request.POST)

Save a new Article object from the form's data.

new_article = f.save()

Create a form to edit an existing Article, but use

POST data to populate the form.

a = Article.objects.get(pk=1)
f = ArticleForm(request.POST, instance=a)
f.save()
请注意,如果表单 尚未验证 ,调用 save() 将通过检查 form.errors 来实现验证。如果表单验证不过,则会引发 ValueError —— 比如,如果 form.errors 返回 True 。