Подход 1: Без транзакции.atomic
Источник: https://adamj.eu/tech/2022/08/22/use-pa ... saction-on -commit/def order_created(order):
order.status = 'created'
order.save()
transaction.on_commit(
partial(send_order_email.delay, order_id=order.id)
)
< /code>
подход 2: с Transaction.atomic < /h4>
def order_created(order):
with transaction.atomic():
order.status = 'created'
order.save()
transaction.on_commit(
partial(send_order_email.delay, order_id=order.id)
)
< /code>
Какой подход правильный и почему? Операция save () вносит изменения в базу данных, но примеры отличаются от того, необходима ли транзакция. Атомическая необходима. (Atomic_requests = false в настройках)
Подробнее здесь: https://stackoverflow.com/questions/793 ... -in-django
Мобильная версия