[英]django: create object from constructor or model form
从基于模型的模型表单获取数据后,说
form_data = MyModelForm(request.POST)
然后我可以通过创建一个Model的实例
instance = Model(**form_data.cleaned_data)
或通过
instance = form_data.save()
我想知道在django世界中哪一种是首选方式
两者之间存在显着差异。
instance = Model(**form_data.cleaned_data)
不会在数据库中保存对象。 它仅创建一个本地实例。
instance = form_data.save()
将对象添加到数据库(如果支持,它将执行提交),并且还具有触发验证的副作用。
如果要在保存之前对对象进行自定义后处理,则可以将commit=False
传递给save()
方法。
instance = form_data.save(commit=False)
# do some stuff with instance
instance.save()
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.