Django中的原子事务相关注意事项
来源:互联网 发布:如何关淘宝店铺 编辑:程序博客网 时间:2024/05/16 17:53
Django中的原子事务支持(transaction.atomic)方式函数装饰器或者with语句,这种方式特别是前者和Spring里面的AOP事务支持方式基本等同,当然其实质方式都是原始的try..catch方式,真是因为这个真正的原始方式,写这种外套事务支持的业务代码时需要注意一些问题:
1、外加事务支持的业务代码内部就不要做泛型的try catch异常捕捉,这样会导致,真正的事务支持接不到异常,导致可能所需的事务回滚不会执行。
2、外加事务支持的业务代码内部的逻辑控制不能对数据库操作有影响,比如Django中的form验证,如果双数据库操作外都有不同的Form验证,那么最好在外部同时做完两个Form验证,然后在内部再用with语句加原子事务支持,否则话,第二次数据库操作可能会由于其相关的form验证失败,而不执行数据库操作,这种纯粹没有任何异常,当然也不会对第一个操作的回滚起任何影响,所以表单验证和数据库提交需要分别的集中化,当然最主要的是不同的数据库操作最好集中执行,而这些操作所需的业务逻辑代码最好在第一个数据库操作之前全部执行准备完。
0 0
- Django中的原子事务相关注意事项
- django中的事务
- BPEL中的原子事务和补偿服务区别和联系
- Django中的事务(Transaction)管理
- oracle 事务原子性
- 事务原子性
- 事务的原子性
- 事务的原子性
- django事务
- django 事务
- 事务注意事项
- 原子操作相关资源
- ORACLE事务的原子性
- oracle事务的原子性
- jdbc原子事务的实现
- Django相关
- Django相关
- django相关
- Spring security用户验证机制浅谈.
- MAC下的Brew
- LTE Frame Structure - Downlink
- PAT 1023. Have Fun with Numbers (20)
- Java进阶(十七)ArrayList与LinkedList的区别
- Django中的原子事务相关注意事项
- 【详解】Python爬虫脚本M9优化
- hdoj Robberies 2955 (概率Dp&&01背包) 好题
- LeetCode 292: Nim Game (Nim游戏)
- html和php编写系统登录和信息查询
- 浅谈C语言的存储区
- 叶子问题
- 关于LaunchImage的警告
- java投票系统