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