连续的 django 模型保存调用安全吗?

问题描述 投票:0回答:1

我遇到了一个有时不更新的字段的问题。只是想知道以下内容在 Django 模型实例上是否不安全。

obj.field1 = True
obj.save()
obj.field2 = True
obj.save()

由于我没有调用 obj.update_from_db() ,第二次保存重置/覆盖是否存在任何风险

field1

不涉及 post_save 钩子,周围的代码是同步的,数据库后端是 PostgreSQL。

此外,save() 是同步的(从某种意义上说,数据库更新将在函数返回之前发生)?

django django-models
1个回答
0
投票

如果您使用 PyCharm,您可以随时前往

ctrl+b
并检查该函数。

据我所知,没有await,没有async,所以它应该是同步的。

无论如何。一旦您将其部署在

Apache
上并创建 2 个或更多实例,这可能会是一个小问题。如果这些多个实例使用相同的数据库,则可能会出现一些问题。但通常这个问题可以在数据库端解决(如果您只使用“已知”的)。

答案:应该保存起来使用。

© www.soinside.com 2019 - 2024. All rights reserved.