You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

18 lines
469 B

from django.db import transaction
def transaction_decorator(function_to_decorate):
def wrap(*args, **kwargs):
transaction.set_autocommit(False)
try:
result = function_to_decorate(*args, **kwargs)
except Exception as ex:
transaction.rollback()
raise ex
else:
transaction.commit()
return result
finally:
transaction.set_autocommit(True)
return wrap