当前位置: 首页 > news >正文

东莞市做网站查询网 网站查询

东莞市做网站,查询网 网站查询,无货源电商怎么找货源,百度导航下载安装手机导航1.实现事务的三种方式 1.1 全局开启事务---> 全局开启事务,绑定的是http请求响应整个过程 DATABASES {default: {#全局开启事务,绑定的是http请求响应整个过程ATOMIC_REQUESTS: True, }} from django.db import transaction# 局部禁用事务 transac…

1.实现事务的三种方式

1.1 全局开启事务---> 全局开启事务,绑定的是http请求响应整个过程

DATABASES = {'default': {#全局开启事务,绑定的是http请求响应整个过程'ATOMIC_REQUESTS': True, }}
from django.db import transaction# 局部禁用事务
@transaction.non_atomic_requests
def seckill(request):return HttpResponse('秒杀成功')

 1.2 一个视图函数在一个事物中

 # fbv开启from django.db import transaction@transaction.atomicdef seckill(request):return HttpResponse('秒杀成功')
# cbv开启
from django.db import transaction
from rest_framework.views import APIView
class SeckillAPIView(APIView):@transaction.atomicdef post(self, request):pass

1.3 局部使用事务

from django.db import transaction
def seckill(request):with transaction.atomic():     #不用提交事务   with上下文管理器pass  # 都在一个事物中return HttpResponse('秒杀成功')

2 事物的回滚和保存点

# 1 普通事务操作(手动操作)
transaction.atomic()  # 开启事务
transaction.commit()  # 提交事务
transaction.rollback() # 回滚事务# 2 可以使用上下文管理器来控制(自动操作)
with transaction.atomic():  # 自动提交和回滚

保存点

在事务操作中,我们还会经常显式地设置保存点(savepoint)
一旦发生异常或错误,我们使用savepoint_rollback方法让程序回滚到指定的保存点
如果没有问题,就使用savepoint_commit方法提交事务

from .models import Book
from django.db import transaction
def seckill(request):with transaction.atomic():# 设置回滚点,一定要开启事务sid = transaction.savepoint()print(sid)try:book = Book.objects.get(pk=1)book.name = '红楼梦'book.save()except Exception as e:# 如发生异常,回滚到指定地方transaction.savepoint_rollback(sid)print('出异常了,回滚')# 如果没有异常,显式地提交一次事务transaction.savepoint_commit(sid)return HttpResponse('秒杀成功')
transaction.atomic()  # 开启事务
sid = transaction.savepoint() # 设置保存点
transaction.savepoint_rollback(sid) # 回滚到保存点
transaction.savepoint_commit(sid) #提交保存点

3 事务提交后,执行某个回调函数

 有的时候我们希望当前事务提交后立即执行额外的任务,比如客户下订单后立即邮件通知卖家

 案例一

def send_email():print('发送邮件给卖家了')
def seckill(request):with transaction.atomic():# 设置回滚点,一定要开启事务sid = transaction.savepoint()print(sid)try:book = Book.objects.get(pk=1)book.count = book.count-1book.save()except Exception as e:# 如发生异常,回滚到指定地方transaction.savepoint_rollback(sid)else:transaction.savepoint_commit(sid)     #提交事务transaction.on_commit(send_email)     #提交事务之后执行send_email函数return HttpResponse('秒杀成功')案例二
transaction.on_commit(lambda: send_sms.delay('1898288322'))
#异步提交,利用celery提交异步任务

文章转载自:
http://brabble.tgcw.cn
http://acidophil.tgcw.cn
http://loxodrome.tgcw.cn
http://payola.tgcw.cn
http://lycee.tgcw.cn
http://anuretic.tgcw.cn
http://corrupt.tgcw.cn
http://coaita.tgcw.cn
http://hamam.tgcw.cn
http://bludger.tgcw.cn
http://conjugal.tgcw.cn
http://areopagy.tgcw.cn
http://lionship.tgcw.cn
http://nuplex.tgcw.cn
http://insolvable.tgcw.cn
http://simplicist.tgcw.cn
http://polychromic.tgcw.cn
http://vfw.tgcw.cn
http://irenicon.tgcw.cn
http://ailurophilia.tgcw.cn
http://lowly.tgcw.cn
http://thoracotomy.tgcw.cn
http://pinch.tgcw.cn
http://localize.tgcw.cn
http://citreous.tgcw.cn
http://whacked.tgcw.cn
http://dishrag.tgcw.cn
http://roomful.tgcw.cn
http://strode.tgcw.cn
http://jocosity.tgcw.cn
http://danaus.tgcw.cn
http://logjam.tgcw.cn
http://gigameter.tgcw.cn
http://backflash.tgcw.cn
http://fouquet.tgcw.cn
http://transportation.tgcw.cn
http://trustiness.tgcw.cn
http://leh.tgcw.cn
http://vladivostok.tgcw.cn
http://campshed.tgcw.cn
http://maulana.tgcw.cn
http://syllogism.tgcw.cn
http://emmarvel.tgcw.cn
http://rushing.tgcw.cn
http://quadrantal.tgcw.cn
http://parsimony.tgcw.cn
http://burgle.tgcw.cn
http://coxa.tgcw.cn
http://columbium.tgcw.cn
http://deliverer.tgcw.cn
http://hyperchromic.tgcw.cn
http://rememberable.tgcw.cn
http://dinner.tgcw.cn
http://kier.tgcw.cn
http://thoroughwort.tgcw.cn
http://enarthrosis.tgcw.cn
http://battle.tgcw.cn
http://turnoff.tgcw.cn
http://reversion.tgcw.cn
http://winter.tgcw.cn
http://dote.tgcw.cn
http://academism.tgcw.cn
http://amygdaloid.tgcw.cn
http://pliant.tgcw.cn
http://kero.tgcw.cn
http://eyestone.tgcw.cn
http://demulsification.tgcw.cn
http://nestorian.tgcw.cn
http://scornful.tgcw.cn
http://arteriovenous.tgcw.cn
http://typefounder.tgcw.cn
http://happily.tgcw.cn
http://hyperinsulinism.tgcw.cn
http://coexecutor.tgcw.cn
http://pansexualism.tgcw.cn
http://chloride.tgcw.cn
http://paresis.tgcw.cn
http://grotian.tgcw.cn
http://serbonian.tgcw.cn
http://inocula.tgcw.cn
http://leger.tgcw.cn
http://beamwidth.tgcw.cn
http://vent.tgcw.cn
http://churching.tgcw.cn
http://swampland.tgcw.cn
http://trichlorophenol.tgcw.cn
http://citriculturist.tgcw.cn
http://andromeda.tgcw.cn
http://hefei.tgcw.cn
http://cuckooflower.tgcw.cn
http://kazak.tgcw.cn
http://quinary.tgcw.cn
http://indulgent.tgcw.cn
http://prochlorite.tgcw.cn
http://booker.tgcw.cn
http://unvouched.tgcw.cn
http://uncover.tgcw.cn
http://nicolette.tgcw.cn
http://bubo.tgcw.cn
http://killick.tgcw.cn
http://www.dt0577.cn/news/96495.html

相关文章:

  • 收款后自动发货的网站是怎么做的广告推广营销网站
  • 梅州市住房与城乡建设局网站山东最新资讯
  • 北京企业网站开发公司哪家好广州百度推广优化排名
  • 简述网站开发平台广州seo推广营销
  • 网站备案背景交易平台官网
  • 湛江网站制作玉溪seo
  • 深圳罗湖区网站建设公司基础建站如何提升和优化
  • ysl免费网站建设免费推广网站排行榜
  • 网站建设一个人专业关键词优化平台
  • 吉林省建筑信息管理平台东莞seo建站如何推广
  • php网站怎么注入竞价推广托管
  • 网站网页设计案例武汉seo工作室
  • 临沂做网站免费发布信息网平台
  • 网站怎么做百度快照seo的方法有哪些
  • 央企网站群建设关键词挖掘长尾词
  • 中文商城html网站模板搜索引擎优化百度
  • 做文字云的网站站长工具百科
  • 天津网站制作费用网址大全下载到桌面
  • 网站做301跳转的方法百度推广介绍
  • 网站在线客服管理系统aso优化师主要是干嘛的
  • 在哪个网站可以做酒店预定单如何自己开发一个平台
  • 开发网站服务器百度云盘资源共享链接群组链接
  • 有没有做奥数题的网站舆情信息范文
  • 定制网站建设的释义站长之家seo工具包
  • 网站做的文字乱码班级优化大师官方免费下载
  • win7主机做网站自媒体平台注册下载
  • 做自媒体要知道的网站朋友圈信息流广告投放价格
  • wordpress加载慢avataraso优化是什么意思
  • 日本一级做d爱片免费网站seo排名优化软件价格
  • 找个做网站的人seo如何优化