gpt4 book ai didi

python - Django:事务原子性是否确保之后的代码发生在数据库保存之后?

转载 作者:太空宇宙 更新时间:2023-11-04 03:58:10 24 4
gpt4 key购买 nike

希望问题很清楚。我正在尝试在 model.save() 之后同步保存,但由于某些原因我不能使用 django 信号(所以请不要将其作为可能的解决方案提及)

我会:

def viewfunc(request):
# This code executes in autocommit mode (Django's default).
do_stuff()

with transaction.atomic():
# This code executes inside a transaction.
do_more_stuff()
do_even_more_stuff()

当我运行 do_even_more_stuff() 时,是否可以安全地假设使用 do_more_stuff() 完成的任何 model.save() 已保存到数据库中?

最佳答案

根据docs :

if the block of code is successfully completed, the changes are committed to the database. If there is an exception, the changes are rolled back.

因此一般情况下的答案是否定的,但如果该 block 无一异常(exception)地完成,则可以安全地假设这一点。

关于python - Django:事务原子性是否确保之后的代码发生在数据库保存之后?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17202082/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com