私は、特定の状況でトランザクションをどのように処理するべきかについて少し混乱しています。commit_on_successはどのようにネストされていますか?
from django.db import transaction
@transaction.commit_on_success
def process_post():
#do stuff with database
for reply in post_replies:
process_post_reply(reply)
@transaction.commit_on_success
def process_post_reply(reply):
#do stuff with database
私はprocess_post_reply()
が失敗した場合に何が起こるかを知りたい:
は、私はこれに沸くいくつかのコードを持っています。
どのようにcommit_on_successのハンドルがネストされていますか?それぞれprocess_post_reply()
をコミットすることを理解するか、process_post()
ロールバック全体が失敗した場合はそれを受け取りますか?ここで