浏览代码

Refs #28859 -- Fixed "no data found" exception handling with cx_Oracle 6.3+.

Mariusz Felisiak 7 年之前
父节点
当前提交
483cc1c430
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      django/db/backends/oracle/operations.py

+ 2 - 1
django/db/backends/oracle/operations.py

@@ -223,7 +223,8 @@ END;
     def fetch_returned_insert_id(self, cursor):
         try:
             return int(cursor._insert_id_var.getvalue())
-        except TypeError:
+        except (IndexError, TypeError):
+            # cx_Oracle < 6.3 returns None, >= 6.3 raises IndexError.
             raise DatabaseError(
                 'The database did not return a new row id. Probably "ORA-1403: '
                 'no data found" was raised internally but was hidden by the '