From 1b396223276948339382c9d7ca84e8e0ceafd281 Mon Sep 17 00:00:00 2001 From: Matt Boersma Date: Thu, 4 Sep 2008 16:41:59 +0000 Subject: [PATCH] Fixed re-raising of ORA-01400 as an IntegrityError in a way that works on Python 2.3 and 2.4 as well. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8965 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/db/backends/oracle/base.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/django/db/backends/oracle/base.py b/django/db/backends/oracle/base.py index 969fb0c03f..086596068d 100644 --- a/django/db/backends/oracle/base.py +++ b/django/db/backends/oracle/base.py @@ -361,8 +361,8 @@ class FormatStylePlaceholderCursor(Database.Cursor): return Database.Cursor.execute(self, query, self._param_generator(params)) except DatabaseError, e: # cx_Oracle <= 4.4.0 wrongly raises a DatabaseError for ORA-01400. - if e.message.code == 1400 and type(e) != IntegrityError: - e = IntegrityError(e.message) + if e.args[0].code == 1400 and not isinstance(e, IntegrityError): + e = IntegrityError(e.args[0]) raise e def executemany(self, query, params=None): @@ -384,8 +384,8 @@ class FormatStylePlaceholderCursor(Database.Cursor): return Database.Cursor.executemany(self, query, [self._param_generator(p) for p in formatted]) except DatabaseError, e: # cx_Oracle <= 4.4.0 wrongly raises a DatabaseError for ORA-01400. - if e.message.code == 1400 and type(e) != IntegrityError: - e = IntegrityError(e.message) + if e.args[0].code == 1400 and not isinstance(e, IntegrityError): + e = IntegrityError(e.args[0]) raise e def fetchone(self):