辦公室裝飾seo是什么意思 為什么要做seo
前言
對(duì)于框架而言,各式API接口少不了伴隨著事務(wù)的場景,下面就列舉常用框架的事務(wù)開啟方法
一、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")transaction1transaction2transaction3...# b = 1 / 0
except Exception as e:print(traceback.format_exc())
二、flask-sqlalchemy
注:利用begin_nested方法,會(huì)開啟一個(gè)子事務(wù)!實(shí)現(xiàn)數(shù)據(jù)庫變更需將子事務(wù)提交再將主事務(wù)提交才行
2.1、樣例模板
db.session.begin_nested()
# obj = Mytable.query.filter_by(id=68).first()
# obj.desc = "test-demo"
transaction1
transaction2
transaction3
.
.
.
# 子事務(wù)提交
db.session.commit()
# b = 1 / 0
# 主事務(wù)提交
db.session.commit()
2.2、進(jìn)化版
with db.session.begin_nested(): # 在with語句體(自帶子事務(wù)提交)中,要成功都成功,要失敗都失敗# obj = Mytable.query.filter_by(id=88).first()# obj.desc = "test-demo"transaction1transaction2transaction3...# b = 1 / 0
db.session.commit()