A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© zhangyujie 初级黑马   /  2019-6-14 08:46  /  1165 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

为什么Django使用自动提交
在SQL标准中, 每个SQL语句在执行时都会启动一个事务,除非已经存在一个事务了。 这样事务必须明确是提交还是回滚。

对应用程序开发者而言,这样非常不方便。 为了避免这个问题,大多数数据库提供了一个autocommit模式。 当 autocommit被打开并且事物处于活动状态时,每个SQL查询都可以看成是一个事务。 也就是说, 不但每个查询是每个事物的开始,而且每个事物会自动提交或回滚,这取决于该查询是否成功执行。

PEP 249, Python数据库API 规范v2.0, 需要将autocommit初试设置为关闭状态。 Django覆盖了这个默认规范并且将autocommit设置为 on.

要想避免这样, 你可以deactivate the transaction management, 但不建议这样做。

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马