python-django中使用事务以及小坑
django中使用事务
一、导入事务模块
from django.db import transaction
二、对相应的业务进行事务操作
方式一:为整个函数进行事务操作
@transaction.atomic
def mysql_test():
'''该函数进行一些关于数据库的操作'''
pass
方式二:为部分代码进行事务操作
# 视图函数
def mysql_test(request):
try:
with transaction.atomic():
# 一系列对数据库的操作
pass
except Exception: # 最好具体的错误类型,捕捉具体的错误
pass
好了,上面就是关于django中使用事务的方式
不过这里还是得提醒一下,mysql中INNODB存储引擎是支持事务的,MyISAM是不支持的!
所以我们在settings.py文件中,关于mysql数据库,如果项目中需要使用到事务,那么就必须指定INNODB存储引擎。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'root',
'USER': 'root',
'PASSWORD': 'root',
'HOST': '127.0.0.1',
'PORT': 3306,
'OPTIONS': {
"init_command": "SET storage_engine=INNODB",
}
}
}
如果忽略掉OPTIONS
这个键值对的话,django给我们创建的表是MyISAM。这是一个小坑,本人记录一下。
python-django中使用事务以及小坑的更多相关文章
- 记录Python学习中的几个小问题
记录Python学习中的几个小问题,和C#\JAVA的习惯都不太一样. 1.Django模板中比较两个值是否相等 错误的做法 <option value="{{group.id}}&q ...
- django中使用事务以及接入支付宝支付功能
之前一直想记录一下在项目中使用到的事务以及支付宝支付功能,自己一直犯懒没有完,趁今天有点兴致,在这记录一下. 商城项目必备的就是支付订单的功能,所以就会涉及到订单的保存以及支付接口的引入.先来看看订单 ...
- RSA算法在Python Django中的简单应用
说明 RSA算法是当今使用最广泛,安全度最高的加密算法. • RSA算法的安全性理论基础 [引]根据百科介绍,对极大整数做因数分解的难度决定了RSA算法的可靠性.换言之,对一极大整数做因数分解愈困难, ...
- Python Django中QQ邮箱授权码问题
Python Django中QQ邮箱授权码问题 系统及软件版本如下: Ubuntu Kylin 16.04 Python 3.5.1 Django 1.9.7 PyCharm Community Ed ...
- DJango中开启事务的两种方式
目录 Django中开启事务的两种方式 第一种 第二种 Django中开启事务的两种方式 第一种 from django.db import transaction with transaction. ...
- 事务的隔离级别,mysql中开启事务、django中开启事务
目录 一.事务的特性 二.数据库中开启事务 三.Django中开启事务的两种方式 第一种 第二种 四.事务的隔离级别 隔离级别 如何查看mysql隔离级别? 修改事务的隔离级别 隔离级别解释 read ...
- Django中的事务(Transaction)管理
Django默认的事务行为 默认情况下,在Django中事务是自动提交的.当我们运行Django内置的模板修改函数时,例如调用model.save()或model.delete()时,事务将被立即提交 ...
- Django中的事务与ajax
一 事务与锁 1.行级锁 行级锁是由存储引擎实现的.如mysql里默认指定的InnoDB存储引擎,由它实现行级锁.InnoDB的行级锁定同样分为两种类型,共享锁(X)和排他锁(S). 对于UPDATE ...
- django中的事务管理
在讲解之前首先来了解一下数据库中的事务. 什么是数据库中的事务? 热心网友回答: ():事务(Transaction)是并发控制的单位,是用户定义的一个操作序列.这些操作要么都做,要么都不做,是一个不 ...
随机推荐
- Unity3D Substance designer Sub 欧洲小镇场景制作视频教程 中文字幕
大小6.53G,中文字幕 扫码时备注或说明中留下邮箱 付款后如未回复请至https://shop135452397.taobao.com/ 联系店主
- UltraEdit 的“查看方式”着色类项型
UltraEdit 的“查看方式”着色类项型 2011年06月22日 13:16:00 cnki_ok 阅读数 5722 版权声明:本文为博主原创文章,遵循CC 4.0 by-sa版权协议,转载请 ...
- odoo开发笔记--日期or时间字段给定默认值
开发中经常有这样的场景,需要给某个日期或者时间的字段默认值: 例如: 日期,默认今天 时间,默认当前时间 可以在odoo模型定义中进行设置, 如下样例提供参考: test_data = fields. ...
- (转)Python3的四舍五入round()函数坑爹?不,更科学!
原文:https://blog.csdn.net/lly1122334/article/details/80596026 Python3的四舍五入round()函数坑爹?不,更科学!Python2中, ...
- NB-IoT物联网开发资料
OneNET(移动平台) https://open.iot.10086.cn/ NB-IoT套件提供了一种方便用户使用NB模组将设备连接到OneNET平台实现丰富NB-IoT应用的能力.平台为用户提供 ...
- [译]如何比较master分支上与git上任意的一个老版本的区别?
原文来源:https://stackoverflow.com/questions/5586383/how-to-diff-one-file-to-an-arbitrary-version-in-git ...
- matlab学习笔记8 基本绘图命令-特殊图形绘制
一起来学matlab-matlab学习笔记8 基本绘图命令_3 特殊图形绘制 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用>张德丰等 ...
- 基于EasyNVR摄像机流媒体服务器实现RTSP或Onvif监控摄像头Web无插件化直播监控
前言介绍 随着互联网的发展,尤其是移动互联网基于H5.微信的应用越来越多,企业也更多地想基于H5.微信公众号来快速开发和运营自己的产品,而传统的安防IPC所输出的各种RTSP.GB28181.SDK视 ...
- [LeetCode] 267. Palindrome Permutation II 回文全排列 II
Given a string s, return all the palindromic permutations (without duplicates) of it. Return an empt ...
- H5混合开发中android终端和ios终端常见的兼容问题1
转自 https://blog.csdn.net/xuehu837769474/article/details/80603898 1.安卓浏览器看背景图片,有些设备会模糊. 用同等比例的图片在PC机上 ...