Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Django原子请求是如何工作的?

Django原子请求是如何工作的?
EN

Stack Overflow用户
提问于 2014-12-07 10:10:59
回答 1查看 10.8K关注 0票数 22

我希望我的Django视图是原子的。我的意思是,如果视图中有2DB写,我想要0写或者2写。

例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def test_view(request):
    ''' A test view from views.py '''

    MyClass.objects.create()
    raise Exception("whatever")
    MyClass.objects.create()

我在文档中发现的似乎是有希望的:

在web上处理事务的一个常见方法是将每个请求包装在一个事务中。在要为其启用此行为的每个数据库的配置中,将ATOMIC_REQUESTS设置为True。 它是这样工作的。在调用视图函数之前,Django启动一个事务。如果生成的响应没有问题,Django将提交事务。如果视图产生异常,Django将回滚事务。

但是,即使我设置了ATOMIC_REQUESTS = True,在调用test_view()时,也会创建第一个MyClass对象!我遗漏了什么?

注:我使用Django 1.7

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-07 10:30:38

ATOMIC_REQUESTS是数据库连接设置dict的一个属性,而不是顶级设置.因此,例如:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'mydatabase',
        'USER': 'mydatabaseuser',
        'PASSWORD': 'mypassword',
        'HOST': '127.0.0.1',
        'PORT': '5432',
        'ATOMIC_REQUESTS': True,
    }
}
票数 45
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27346003

复制
相关文章
使用Redmine的PHP API时,如何判断需求是否为原子需求
使用redmine的PHP接口时,怎样才能判断需求是否为原子需求呢,下面给出具体的做法:
Enjoy233
2019/03/05
9420
深度剖析:Kafka 请求是如何处理的
上一篇作为专题系列的第一篇,我们深度剖析了关于 Kafka 存储架构设计的实现细节,今天开启第二篇,我们来深度剖析下「Kafka Broker 端网络架构和请求处理流程」是如何设计的? 相信使用过
玖柒的小窝
2021/12/11
4190
深度剖析:Kafka 请求是如何处理的
HTTP请求是如何关联Nginx server{}块的?
Nginx是企业内网的对外入口,它常常同时对接许多应用,因此,Nginx上会同时监听多个端口、为多个域名提供服务。然而,匹配多级域名并不简单,Nginx为此准备了字符串精确匹配、前缀通配符、后缀通配符、正则表达式,当它们同时出现时,弄清楚HTTP请求会被哪个server{ }下的指令处理,就成了一件困难的事。
陶辉
2023/10/18
3880
HTTP请求是如何关联Nginx server{}块的?
Docker,请做好自己的清理工作
最近,我们开始对一些应用程序进行docker化,不得不说,我简直爱上了Docker!这是一个非常棒的工程,在AWS EC2的软件运用的基础上,它让我们的生活变得更加轻松。但是,我们在使用Docker时碰到的一个问题是它的疯狂的占用磁盘的情况。我们在Amazon Linux上运行Docker,并且我们有一个构建服务器来构建Docker镜像作为构建管道的一部分。一旦建立,图像会通过一个Ansible的手册推送到我们的服务器。从这点来看,它确实值得更多的关注。
庹阳
2018/01/12
1.5K0
zookeeper的zab协议工作原理之原子广播
说zab协议之前必须提一下 paxos 协议  paxos协议主要就是如何保证在分布式环网络环境下,各个服务器如何达成一致最终保证数据的一致性问题 ZAB协议,基于paxos协议的一个改进。 zab协议为分布式协调服务zookeeper专门设计的一种支持崩溃恢复的原子广播协议 zookeeper并没有完全采用paxos算法, 而是采用zab Zookeeper atomic broadcast zab协议的原理 1. 在zookeeper 的主备模式下,通过zab协议来保证集群中各个副本数据的一致性 2. 
用户2141593
2018/05/18
1.9K0
gin 源码阅读(2) - http请求是如何流入gin的?
本篇文章是 gin 源码分析系列的第二篇,这篇文章我们主要弄清一个问题:一个请求通过 net/http 的 socket 接收到请求后, 是如何回到 gin 中处理逻辑的?
haohongfan
2021/10/08
1.1K0
团队沟通之一个简单的需求是如何搞复杂的
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012839098/article/details/89528821
栋先生
2019/05/10
4920
团队沟通之一个简单的需求是如何搞复杂的
django 工作流例子
TWEET_APPROVER_EMAIL = 'someone@mydomain.com'
用户5760343
2022/05/14
4250
django 工作流例子
Netty源码分析之一次请求是如何到达channelRead的?
Netty是对java网络框架的包装,它本身肯定也会有类似的处理流程。必定在这个方面做了自己的优化处理
爬蜥
2019/07/09
5.1K0
ZooKeeper如何保证事务原子性?
先解答疑惑,题主对ZAB理解是正确的。为了便于描述,本文将事务理解为具有ACID的一组操作,一个ZooKeeper请求(例如:create)称之为提案。
并发笔记
2022/11/21
1K0
ZooKeeper如何保证事务原子性?
Java中如何实现原子操作?
在Java中,J实现原子操作 可以通过锁和循环CAS的方式来实现原子操作。 1 使用循环CAS操作原子操作 package com.yy;
爱明依
2019/03/12
8590
Java并发编程:AQS的原子性如何保证
当我们研究AQS框架时(对于AQS不太熟知可以先阅读《什么是JDK内置并发框架AQS》,会发现AbstractQueuedSynchronizer这个类很多地方都使用了CAS操作。在并发实现中CAS操作必须具备原子性,而且是硬件级别的原子性。我们知道Java被隔离在硬件之上,硬件级别的操作明显力不从心。这时为了能够执行操作系统层面的操作,就必须要通过用C++编写的native本地方法来扩展实现。一般可以通过JNI方式实现Java代码调用C++代码
码农架构
2020/12/28
4260
Java并发编程:AQS的原子性如何保证
分布式进阶__zookeeper的zab协议工作原理之原子广播
paxos协议主要就是如何保证在分布式环网络环境下,各个服务器如何达成一致最终保证数据的一致性问题
矿泉水
2018/05/11
1K3
分布式进阶__zookeeper的zab协议工作原理之原子广播
Java 并发编程:AQS 的原子性如何保证
当我们研究AQS框架时(对于AQS不太熟知可以先阅读《什么是JDK内置并发框架AQS》,会发现AbstractQueuedSynchronizer这个类很多地方都使用了CAS操作。在并发实现中CAS操作必须具备原子性,而且是硬件级别的原子性。我们知道Java被隔离在硬件之上,硬件级别的操作明显力不从心。这时为了能够执行操作系统层面的操作,就必须要通过用C++编写的native本地方法来扩展实现。一般可以通过JNI方式实现Java代码调用C++代码
码农架构
2020/12/21
4920
Java 并发编程:AQS 的原子性如何保证
Node.js GET、POST 请求是怎样的?
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时,它使 JavaScript 能够在服务器端运行。作为一种强大的后端开发工具,Node.js 提供了丰富的模块和功能,使开发人员能够轻松地构建高性能的网络应用程序。
网络技术联盟站
2023/07/07
7650
请描述django模板中标签的作用?_抽奖券模板
if标签相当于Python中的if语句,有elif和else相对应,但是所有的标签都需要用标签符号({%%})进行包裹。if标签中可以使用==、!=、<、<=、>、>=、in、not in、is、is not等判断运算符。示例代码如下:
全栈程序员站长
2022/09/19
7670
[脑书笔记]《你为什么而工作》:请尊重你自己
核心内容:我们为什么要工作?我们为什么要放弃既快乐又刺激的安逸生活,每天早晨睡眼惺忪地从舒适的床上挣扎而起?多么愚蠢的问题啊。我们工作当然是因为我们要养家糊口。确实如此,但仅此而已吗?当然不是!巴里•施瓦茨发现两个多世纪以来,我们完全被亚当•斯密等经济学大师的观点误导了,无论是社会,还是个体的人,我们一直被灌输着关于工作的一些错误观点。
rocket
2018/09/14
5540
[脑书笔记]《你为什么而工作》:请尊重你自己
Spring Security 实战干货:OAuth2授权请求是如何构建并执行的
在Spring Security 实战干货:客户端 OAuth2 授权请求的入口中我们找到了拦截 OAuth2 授权请求入口/oauth2/authorization的过滤器OAuth2AuthorizationRequestRedirectFilter,并找到了真正发起 OAuth2 授权请求的方法sendRedirectForAuthorization。但是这个方法并没有细说,所以今天接着上一篇把这个坑给补上。
码农小胖哥
2020/11/11
1.6K0
Spring Security 实战干货:OAuth2授权请求是如何构建并执行的
您的凭据不工作 之前用于连接到******的凭据无法工作。请输入新凭据。
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/49077665
DannyHoo
2018/09/13
57.3K6
您的凭据不工作 之前用于连接到******的凭据无法工作。请输入新凭据。
点击加载更多

相似问题

原子事务不工作django rest

32

facebook请求是如何工作的?

10

doPost请求是如何工作的?

40

链轮的要求是如何工作的?

113

要求(“原子”)如何工作?

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文