ORA-00904:“ IDENTITY_COLUMN”:使用INSPECTDB DJANGO的无效标识符错误

时间:2018-07-30 16:37:00

标签: python django oracle django-models inspectdb

我在Oracle 11.2中有一个现有数据库。

我正在尝试使用inspectdb的{​​{1}}实用程序来自动创建模型,但出现错误:

django

在任何表中都没有名为ORA-00904: "IDENTITY_COLUMN": invalid identifier 的列,并且由于我没有直接访问数据库,所以不可能拼写错误的列名或访问错误的列。

如果有人可以给出解决该错误的方法的指导,那将非常有帮助。

3 个答案:

答案 0 :(得分:1)

我在使用Oracle 11.2时也遇到了类似的问题

我暂时将Django === 2.1降级为Django === 1.11.13,以解决问题,因为我的旧模型仍然需要手动清理,但这是开始进行逆向工程模型的好地方来自旧版数据库。

答案 1 :(得分:0)

我不确定是否可以。

docs不要提及Oracle

  

inspectdb PostgreSQLMySQLSQLite一起使用。

但是用户说他们可以使用它,例如this comment in a previous question。另请参见this older question,以获取一些提示。

答案 2 :(得分:0)

我发生了同样的事情。首先将django降级到较低版本(1.11.22)并运行

python manage.py inspectdb > your_app_name/models.py

然后升级到您使用的任何版本。我正在使用3.0.4