前言
對于框架而言,各式API接口少不了伴隨著事務的場景,下面就列舉常用框架的事務開啟方法文章來源:http://www.zghlxwxcb.cn/news/detail-646031.html
一、Django
import traceback
from django.db import transaction
from django.contrib.auth.models import User
try:
with transaction.atomic(): # 在with語句體中,要成功都成功,要失敗都失敗
# User.objects.filter(id=66).update(username="test_username")
transaction1
transaction2
transaction3
.
.
.
# b = 1 / 0
except Exception as e:
print(traceback.format_exc())
二、flask-sqlalchemy
注:利用begin_nested方法,會開啟一個子事務!實現數據庫變更需將子事務提交再將主事務提交才行文章來源地址http://www.zghlxwxcb.cn/news/detail-646031.html
2.1、樣例模板
db.session.begin_nested()
# obj = Mytable.query.filter_by(id=68).first()
# obj.desc = "test-demo"
transaction1
transaction2
transaction3
.
.
.
# 子事務提交
db.session.commit()
# b = 1 / 0
# 主事務提交
db.session.commit()
2.2、進化版
with db.session.begin_nested(): # 在with語句體(自帶子事務提交)中,要成功都成功,要失敗都失敗
# obj = Mytable.query.filter_by(id=88).first()
# obj.desc = "test-demo"
transaction1
transaction2
transaction3
.
.
.
# b = 1 / 0
db.session.commit()
結束!
到了這里,關于python 相關框架事務開啟方式的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!