django 中的transaction(事务管理)
1.django默认的事务行为。
2.Tying transactions to HTTP requests
在Httprequest请求和相应都为出错的时候 会提交事务。要使用中间件
'django.middleware.transaction.TransactionMiddleware',
这是一个全局的控制。
3.在views中做事务管理
相对于2,第三种能更加细致的控制事务。主要采用装饰器来控制。
django.db.transaction.autocommit
使用 autocommit 装饰器时,会忽略全局事务设置,将某个视图函式转换化 Django 默认的事务提交行为,在在 views的方法里,一旦你调用了 model.save(), model.delete(),或是任何其他会写数据库的方法,事务就会被立刻提交。
django.db.transaction.commit_on_success
django.db.transaction.commit_manually
作者:呆头龙
出处:http://www.cnblogs.com/waniu/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
该文章也同时发布在我的独立博客中-呆头龙。
欢迎园友讨论下自己的见解,及推荐更好资料。
本文如对读者有帮助,还请多帮
下此文。
谢谢!!! (
)