air*_*ang 2 python django django-models django-forms
从基于模型的模型表格中获取数据后,比如说
form_data = MyModelForm(request.POST)
Run Code Online (Sandbox Code Playgroud)
然后我可以创建一个Model by的实例
instance = Model(**form_data.cleaned_data)
Run Code Online (Sandbox Code Playgroud)
或者
instance = form_data.save()
Run Code Online (Sandbox Code Playgroud)
我想知道哪个是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()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5397 次 |
| 最近记录: |