Django中的原子事务相关注意事项

原创 2015年11月20日 19:46:50

       Django中的原子事务支持(transaction.atomic)方式函数装饰器或者with语句,这种方式特别是前者和Spring里面的AOP事务支持方式基本等同,当然其实质方式都是原始的try..catch方式,真是因为这个真正的原始方式,写这种外套事务支持的业务代码时需要注意一些问题:

      1、外加事务支持的业务代码内部就不要做泛型的try catch异常捕捉,这样会导致,真正的事务支持接不到异常,导致可能所需的事务回滚不会执行。

      2、外加事务支持的业务代码内部的逻辑控制不能对数据库操作有影响,比如Django中的form验证,如果双数据库操作外都有不同的Form验证,那么最好在外部同时做完两个Form验证,然后在内部再用with语句加原子事务支持,否则话,第二次数据库操作可能会由于其相关的form验证失败,而不执行数据库操作,这种纯粹没有任何异常,当然也不会对第一个操作的回滚起任何影响,所以表单验证和数据库提交需要分别的集中化,当然最主要的是不同的数据库操作最好集中执行,而这些操作所需的业务逻辑代码最好在第一个数据库操作之前全部执行准备完。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Django 数据库事务

管理数据库事务Django框架提供了好几种方式来控制和管理数据库事务。(以下Django框架会简化为Django,读者可自行脑补框架两字)Django框架默认的事务行为自动提交作为Django默认的事...

django事务transaction模块科普

假设看官已经了解了什么是事务。 私以为这模块了解以下几点用法就好,  余者大多功能重复。 transaction.atomic(using=None, savepoint=True) 这里面atomi...

hibernate 事务管理注意事项

  • 2016年06月01日 14:57
  • 73KB
  • 下载

Django中使用ifram注意事项

因为在django中无法识别我们普通的url格式,比如使用,这种格式django无法识别的,所以运行时就会出现异常 目录结构: 解决办法: 1、将所有要跳转到的页面进行注册 2、在view.py中...

django 数据库增强工具 south 的安装使用和注意事项。。。

django 开发 web 应用的时候,其中的 ORM 非常好用。 通过 moldes 的定义和调用。可是,django 在 数据库同步 (syncdb) 的时候。只会创建不存在的数据表。对于中途需要...
  • rsj217
  • rsj217
  • 2013年08月09日 15:05
  • 2413

C#面试题目和相关注意事项

  • 2009年06月19日 15:07
  • 879KB
  • 下载

DB2数据库注意事项以及相关资料

  • 2009年01月20日 17:14
  • 118KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Django中的原子事务相关注意事项
举报原因:
原因补充:

(最多只允许输入30个字)