Python 在Django中使用原始SQL打开事务是安全的

Python 在Django中使用原始SQL打开事务是安全的,python,django,postgresql,Python,Django,Postgresql,使用Django(3.1版)中的默认设置可以安全地执行以下操作: 将connection.cursor()作为游标的: cursor.execute(“开始”) #一些SQL操作 提交\u或\u rollback=“提交”如果成功,否则“回滚” 使用connection.cursor()作为游标: cursor.execute(提交或回滚) 或者,我必须在Django的自动提交关闭事务时,使用前面的方法将自动提交设置为False?或者自动提交被隔离,我的代码不会有问题 如果您问我为什么使用原始

使用Django(3.1版)中的默认设置可以安全地执行以下操作:

将connection.cursor()作为游标的
:
cursor.execute(“开始”)
#一些SQL操作
提交\u或\u rollback=“提交”如果成功,否则“回滚”
使用connection.cursor()作为游标:
cursor.execute(提交或回滚)
或者,我必须在Django的自动提交关闭事务时,使用前面的方法将自动提交设置为
False
?或者自动提交被隔离,我的代码不会有问题


如果您问我为什么使用原始SQL进行事务:我尝试过手动使用事务,但它在多进程环境中存在一些问题,因此我必须使用原始查询来实现。好的,我已经阅读了更多内容,在我的项目中进行了测试,并在数据库日志中使用Django执行的查询。通过原始SQL使用事务似乎是安全的,因为autocommit通过任何操作开始新的事务,并且不会干扰其他连接打开的事务