From 84dcd1624784c2239f96a97b3151145a85dfbbe3 Mon Sep 17 00:00:00 2001 From: Mariusz Felisiak Date: Tue, 25 Apr 2017 08:29:54 +0200 Subject: [PATCH] Refs #23919 -- Used "raise from" instead of __cause__ in reraising backend-specific database exceptions. Thanks Tim Graham for the review. --- django/db/utils.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/django/db/utils.py b/django/db/utils.py index 6c9b489040..d5174682e1 100644 --- a/django/db/utils.py +++ b/django/db/utils.py @@ -82,12 +82,11 @@ class DatabaseErrorWrapper: db_exc_type = getattr(self.wrapper.Database, dj_exc_type.__name__) if issubclass(exc_type, db_exc_type): dj_exc_value = dj_exc_type(*exc_value.args) - dj_exc_value.__cause__ = exc_value # Only set the 'errors_occurred' flag for errors that may make # the connection unusable. if dj_exc_type not in (DataError, IntegrityError): self.wrapper.errors_occurred = True - raise dj_exc_value.with_traceback(traceback) + raise dj_exc_value.with_traceback(traceback) from exc_value def __call__(self, func): # Note that we are intentionally not using @wraps here for performance