我正在将Django 1.10与Postgres数据库和django-rest-framework一起使用。 我调试我的代码,并在有some_entity.save()任何地方立即看到数据库中的更改。 事实是,我有ATOMIC_REQUESTS = True ,这意味着在视图成功完成之前,没有任何东西提交到数据库。 我现在担心数据库的完整性-如果以后发生异常,则不会回滚任何内容

===============>>#1 票数:1 已采纳

您所描述的是数据库事务的完美预期行为。

如果ATOMIC_REQUESTS = True每个请求都包装在数据库事务中,这意味着事务在接收到请求时启动,并在响应没有问题的情况下提交。

在事务期间,您可以阅读自己的文章:这就是SQL数据库的工作方式(相反,这将非常令人困惑)。

但是,在大多数配置中,这些写操作是“隔离的”:如果尚未提交,则从并发请求(在不同的事务中)将看不到它们。 有关事务隔离的更多详细信息,请查看postgresql文档: https : //www.postgresql.org/docs/current/static/transaction-iso.html

  ask by Arsen Simonean translate from so

未解决问题?本站智能推荐: