Django事务操作

作者: 乔治大叔 | 来源:发表于2019-02-10 15:22 被阅读18次

在Django中实现数据库的事务操作

在学习MySQL数据库时,MySQL数据库是支持原子操作的.

什么是数据库的原子操作呢??打个比方,一个消费者在一个商户里刷信用卡消费.

交易正常时,银行在消费者的账户里减去相应的款项,在商户的帐户加上相应的款项.

但是如果银行从消费者的账户里扣完钱之后,还未在商户的帐户里加上相应的款项时.

由于某些原因,系统或者数据库出现异常了,那么此时钱已经从消费者的账户里扣除了,但是商户的账户里却没有加上相应的款项,让会让商户遭受损失.

这种情况下,最好的解决办法就是使用数据库的原子性操作.

如果数据库使用了事务操作,当出现上面的操作异常时,待数据库正常运行后,数据库系统会把先前执行了一半的操作退回到这个操作之前的状态,

这个通常称为数据库的回滚,也即数据库的原子性操作.

好了,讲了这么多,其实代码就2行

  # 事务操作
    from django.db import transaction
    with transaction.atomic():

相关文章

  • Django的事务操作方法

    Django框架本身提供了两种事务操作的用法。(针对mysql) 从django1.6开始,Django的事务操作...

  • Django事务操作

    在Django中实现数据库的事务操作 在学习MySQL数据库时,MySQL数据库是支持原子操作的. 什么是数据库的...

  • django 事务嵌套 transaction nesting

    django 官方文档stack overflow 关于django事务嵌套问题

  • 事务、MySQL与Python交互、Python 中操作 MyS

    1、事务 事务操作分两种:自动事务(默认)、手动事务 手动事务的操作流程 开启事务:start transacti...

  • MySQL数据库的事务transaction

    事务操作分两种:自动事务(默认)、手动事务 手动事务的操作流程 开启事务:start transaction; 进...

  • Django之数据库事务编程

    在了解 Django 数据库事务编程前有必要先了解下数据库事务。 数据库事务(transaction) 数据库事务...

  • Django 事务详解

    Django 1.4 事务默认模式是autocommit模式,每个查询都相当于一个事务,每次查询都直接提交comm...

  • Spring事务隔离和事务传播

    事务:事务程序中一系列的操作,所有操作必须成功完成,否则每个操作做的更改会被撤销。 事务特性:原子...

  • django快速入门(一)

    创建django项目 以下所有操作均在已经安装了django1.11的Virtualenv虚拟环境下操作。如何搭建...

  • Spring事务管理

    事务回顾 事务指的是逻辑上的一组操作,这组操作要么全部成功,要么全部失败。事务操作能够保证数据操作的安全性。 以一...

网友评论

    本文标题:Django事务操作

    本文链接:https://www.haomeiwen.com/subject/qbfxeqtx.html