¿Es "transaction.atomic" lo mismo que "transaction.commit_on_success"?

Django 1.6 propone@transaction.atomic como parte de la revisión en la gestión de transacciones de 1.5.

Tengo una función que es llamada por un comando de administración de Django que a su vez es llamado por cron, es decir, ninguna solicitud HTTP desencadena transacciones en este caso. Retazo:

from django.db import transaction

@transaction.commit_on_success
def my_function():
    # code here

En el bloque de código anteriorcommit_on_success utiliza una sola transacción para todo el trabajo realizado enmy_function.

¿Reemplazar@transaction.commit_on_success con@transaction.atomic resultar en el comportamiento idéntico?@transaction.atomic docs state:

La atomicidad es la propiedad definitoria de las transacciones de la base de datos. atomic nos permite crear un bloque de código dentro del cual se garantiza la atomicidad en la base de datos. Si el bloque de código se completa con éxito, los cambios se confirman en la base de datos. Si hay una excepción, los cambios se revierten.

Supongo que resultan en el mismo comportamiento; ¿correcto?

Respuestas a la pregunta(2)

Su respuesta a la pregunta