美文网首页
Django的事务操作方法

Django的事务操作方法

作者: Gavininn | 来源:发表于2019-05-22 21:21 被阅读0次

Django框架本身提供了两种事务操作的用法。(针对mysql)

从django1.6开始,Django的事务操作方法主要通过django.db.transation模块完成。

启用事务用法1

from django.db import transaction
from rest_framework.views import APIView


class OrderAPIView(APIView):
        @transaction.atomic  # 开启事务,当方法执行完以后,自动提交事务
        def post(self, request):
             pass  #

启用事务用法2

from django.db import transaction
from rest_framework.views import APIView


class OrderAPIView(APIView):
    def post(self,request):
        ....
        with transation.atomic():   # 开启事务,当with语句执行完成以后,自动提交事务
            pass  # 数据库操作

在使用事务过程中,有时候会出现异常,当出现异常的时候,我们需要让程序停下来,同时回滚事务。

from django.db import transaction
from rest_framework.views import APIView
class OrderAPIView(APIView):
    def post(self,request):
        ....
        with transation.atomic():
            # 设置事务回滚的标记点
            sid = transation.savepoint()

            ....

            try:
                ....
            except:
                transation.savepoint_rallback(sid)

相关文章

  • Django的事务操作方法

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

  • django 事务嵌套 transaction nesting

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

  • Django之数据库事务编程

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

  • Django 事务详解

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

  • Django事务操作

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

  • 31、django的事务_transaction

    背景 在写项目时,特别是view中,我们可能需要进行多个业务操作(不仅仅是操作sql)。比如说:在编辑case的接...

  • Django 事务管理

    Django Transaction: 目的:保证操作的原子性,操作必须全部成功,否则就会回滚操作。 用法: 装饰...

  • Django-使用事务处理多表联动数据

    Django事务介绍 以在Django中实现保存订单数据为例,涉及多张数据表的修改:增加订单数据及订单中包含的商品...

  • Django 数据库事务

    为了更好地阅读体验,欢迎访问博客原文 管理数据库事务 Django框架提供了好几种方式来控制和管理数据库事务。(以...

  • Django 数据库 事务

    通过 transaction.atomic 来更加明确的控制事务。atomic允许我们在执行代码块时,在数据库层面...

网友评论

      本文标题:Django的事务操作方法

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