Я немного смущен тем, как я должен обрабатывать транзакции в конкретной ситуации.Как 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()
?