博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Django中关于事务的代码编写
阅读量:6543 次
发布时间:2019-06-24

本文共 644 字,大约阅读时间需要 2 分钟。

Django中对于数据库的事务,默认每执行一句数据库操作,便会自动提交。

在Django中可以通过django.db.transaction模块提供的atomic来定义一个事务,atomic提供两种用法

  • 装饰器用法

    from django.db import transaction@transaction.atomicdef viewfunc(request): # 这些代码会在一个事务中执行 ...
  • with语句用法

    from django.db import transactiondef viewfunc(request): # 这部分代码不在事务中,会被Django自动提交 ... with transaction.atomic(): # 这部分代码会在事务中执行 ...

在Django中,还提供了保存点的支持,可以在事务中创建保存点来记录数据的特定状态,数据库出现错误时,可以恢复到数据保存点的状态

from django.db import transaction# 创建保存点save_id = transaction.savepoint()  # 回滚到保存点 transaction.savepoint_rollback(save_id) # 提交从保存点到当前状态的所有数据库事务操作 transaction.savepoint_commit(save_id)

转载于:https://www.cnblogs.com/skaarl/p/9577009.html

你可能感兴趣的文章
项目经理必备 - 项目绩效测量工具EVM详解(上)
查看>>
Spring AOP 之二:Pointcut注解表达式
查看>>
在普通台式机上搭建服务器虚拟化架构Esxi平台
查看>>
电话线路 30B+D 名词解释
查看>>
python字典嵌套字典实例
查看>>
吉炬消费系统软件输入密码后无法打开软件界面故障处理
查看>>
Hibernate学习系列————注解一对多双向实例
查看>>
Cannot load from mysql.proc
查看>>
网络运维之 EX4200消除var分区使用过高的告警
查看>>
【最好的流程是没有流程】
查看>>
Apache Thrift 教程
查看>>
Python Epoll
查看>>
AS3歌词同步详解
查看>>
单例模式
查看>>
Linux环境NetBeans字体通用抗据齿解决方法
查看>>
Eclipse的花括号(brace)的输入偏好问题
查看>>
Android开发 获取当前activity的屏幕截图
查看>>
工作记录
查看>>
nginx 新语法 limit_conn_zone 替换 limit_conn 用法
查看>>
Python基础
查看>>