django事务:手动提交和自动提交的区别

来源:4-15 事务处理(下)

饿少

2021-06-02 17:17:18

问题一:两者的区别是不是就是:

    ​自动提交事务:可以自动捕获异常并进行回滚操作。

    ​手动提交事务:是自行捕获异常时才需要进行的操作。


问题二:手动提交事务时为什么要使用

    ​transcation.set_autocommit(False)  #放弃自动提交事务

    ​我又没设置自动提交事务,为什么要设置放弃?

    我的推测:视图函数中的单行ORM操作(比如objects.create(...)),自带 提交事务

    ​这个设置是关闭了单行代码的事务提交?

    ​为什么说单行代码,因为如果整体函数看作是一个事务,有一条出错,那么不会提交,只有单行代码才能解释通。


请老师就我的问题,和推测是否正确,给出相应回答

写回答

1回答

时间,

2021-06-02

同学,你好!

问题一:同学的理解是正确的

问题二:默认情况下,django的事务是自动提交的。是关闭了整个事务的自动提交,整体函数会看作一个事务,当事务中的代码报错时会执行回滚操作

祝学习愉快!

0

0 学习 · 2433 问题

查看课程

相似问题