1

关于事务管理的Django 文档侧重于写操作。我很困惑 Django 对读取一致性的保证是什么。如果一个请求执行多个读取查询,并且第二个请求在这些查询之间写入数据库,是否可以保证第一个请求不会看到修改?

用一个简单的例子来说明这个问题:

c1 = select count(*) from Users
   <--- here User added by some other request
c2 = select count(*) from Users
assert c1 == c2 <-- Is this always true?

如果没有这样的保证,是否有可能实现这样的隔离?

4

1 回答 1

0

Django 不负责保证这些事情:这取决于数据库。但是默认情况下,Django 确实在其自己的事务中操作每个请求,这确实意味着它被隔离以供读取。

于 2013-01-18T15:55:40.703 回答