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

徐州泉山区建设局网站东莞最新消息今天

徐州泉山区建设局网站,东莞最新消息今天,企业网站推广的方法有什么,哪里有免费的网站网址1.实现事务的三种方式 1.1 全局开启事务--- 全局开启事务#xff0c;绑定的是http请求响应整个过程 DATABASES {default: {#全局开启事务#xff0c;绑定的是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 transactiontransaction.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(pk1)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(pk1)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://wiki.neutronadmin.com/news/412318/

相关文章:

  • 设计网站vcg网站首页自动下拉广告
  • 如何学好jsp网站开发杭州vi设计价格
  • 前端软件开发工程师吉林网站制作选择乐云seo
  • 简单的网站开发的软件wordpress 存档页面
  • 柳州建设网站经济适用房表格wordpress 插件 支付
  • 超链接到网站怎么做惠州排名推广
  • 韩国网站域名企业文化vi设计
  • 三台县城乡建设网网站网页设计实训总结模板
  • 创新创业项目计划书ppt郑州seo招聘
  • 电影频道做的网站广告湛江网站优化
  • 唐山网站建设方案策划优化设计方法
  • wordpress添加用户注册登录界面深圳网站搜索引擎优化
  • 个人网站的设计流程珠海网站制作公司
  • 做电影网站步骤需要证书的建筑公司网站
  • 国际网站设计低代码平台开发
  • html语言中文解释大全 | 网站建设 - 红黑联盟论坛短视频项目计划书怎么写
  • 网站建设的行业分析微信里面的小程序
  • 建设银行手机不用了怎么登陆网站wordpress 4.2.5
  • 上海专业高端网站建设服务器购物网站可行性分析报告
  • 郓城网站建设价格win10 wordpress安装教程
  • 网站seo优化推广教程闵行网络推广公司
  • 网站设计及开发图片wordpress博客
  • 商河网站建设公司建筑网站汇总
  • 深圳 做网站合肥建设集团信息网站
  • wordpress建站页面开发高端客户
  • 不用服务器做网站上海网站seo公司
  • 做购物网站哪种服务器好莱芜新闻民生广角
  • 榆林网站开发wordpress字不能
  • 手机网站建设的教程视频教程百度竞价渠道户
  • 网站下面的站长统计很逗seo整站优化吧