model fix: rollback transaction on fail

This commit is contained in:
norohind committed 2022-01-31 14:13:51 +03:00
1 parent 10db5103da
commit 6d0b78dca1
1 file changed
+7 -1
+7 -1
View File
@@ -18,13 +18,19 @@ logger.propagate = False
def errors_catcher(func: callable) -> callable:
def decorated(*args, **kwargs):
self: PostgresModel = args[0]
try:
result = func(*args, **kwargs)
except psycopg2.InterfaceError:
args[0].open_model()
self.open_model() # args[0] - self
result = func(*args, **kwargs)
except Exception:
# just reset transaction at least
self.db.rollback()
raise
return result
return decorated