博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django中的save(commit=False)
阅读量:5360 次
发布时间:2019-06-15

本文共 477 字,大约阅读时间需要 1 分钟。

  django中有时候需要使用save(commit=False)方法,更新对象属性,但并不向数据库真正提交数据,举个博客的例子吧,登录之后,写博客,然后保存博客的内容。博客的有些内容是在界面上由用户填写的,有些内容是在后台添加的。例如,用户姓名之类的。同时,还会有博客所属的分类。

  这样的话就需要在save()方法中传递一个参数commit,赋值为False,代表不要提交到数据库。然后给blog.author赋值,然后有两种选择:

  1. 调用new_blog.save()保存blog的基本信息,然后在调用form.save_m2m()保存关联信息,如果不调用save_m2m()的话,就会发现关联信息没有保存,就是由于之前使用了commit=False,影响了关联信息的保存,所以这里需要调用form.save_m2m()。

  2. 一再次调用form.save()保存blog基本信息以及关联信息

转载于:https://www.cnblogs.com/jishilei/archive/2012/12/25/2831947.html

你可能感兴趣的文章
python遍历文件夹
查看>>
mysql简介以及常用dos命令
查看>>
vmware下的linux的host only上网配置
查看>>
hibernate+mysql关联映射师遇到java.lang.StackOverflowError异常
查看>>
JavaScript中正则编码
查看>>
矩阵基础知识(五)
查看>>
php7 & lua 压测对比
查看>>
dojo定义widget
查看>>
修改OpenLayer的图片路径
查看>>
CSS垂直居中
查看>>
[转载]AngularJS入门教程02:AngularJS模板
查看>>
linux第5天 socket api
查看>>
linux程序分类
查看>>
(九)UIScrollView和PageControl的分页
查看>>
(五十二)触摸事件初步
查看>>
浅谈c#中的delegate和event了
查看>>
linux指定某用户某组挂载外接硬盘以便操作硬盘
查看>>
Sqlserver------SQLServer2008R2中新增用户并设定表的访问权限
查看>>
Git Push 避免用户名和密码方法
查看>>
【Alpha版本】冲刺阶段——Day 6
查看>>