我刚刚切换到Django 1.6(使用Posgres 9.1)并且有一些我无法自己回答的问题:
>(已回答)如果我当前在一个或多个以及在哪个transaction.atomic块中,是否有打印/显示我的声明?
>(已回答)我既没有启用TransactionMiddleware也没有将ATOMIC_REQUESTS设置为True.所以默认情况下我的代码不包含在transaction.atomic块中,对吗?
>在transaction.atomic块中执行时,通过游标正确执行的sql语句是否正确?有没有其他/更好的方法来提交它们?
with transaction.atomic(): cursor = connection.cursor() cursor.execute(sql)
>我是否需要将cursor.executemany()包装在transaction.atomic块中,或者执行是否已经原子地执行?
>如何查看当前的自动提交状态?何时在连接开始时将事务设置为全局数据库设置?
解决方法
回答你的一个问题:
您可以使用从以下位置返回的连接对象来确定您当前是否处于原子块中:
来自django.db.transaction导入get_connection或django.db.connections中的任何连接对象
我觉得最简单的只是看看django source
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。