我是python语言和django的新手。我需要将django连接到oracle数据库11g,我已经导入了cx_oracle库,并使用即时客户端来连接oracle和django,但是当我运行命令manage inspectdb > models.py时。我收到错误,因为models.py中的列标识符无效。我怎么才能解决它。我连接的模式中只有2个表?
发布于 2018-03-28 02:32:24
"Invalid column“表示您指定的列名在这些表中都不存在,或者您拼错了它的名称。
例如:
SQL> desc dept
Name
-----------------------------------------
DEPTNO
DNAME
LOC
SQL> select ndame from dept; --> misspelled column name
select ndame from dept
*
ERROR at line 1:
ORA-00904: "NDAME": invalid identifier
SQL> select imaginary_column from dept; --> non-existent column name
select imaginary_column from dept
*
ERROR at line 1:
ORA-00904: "IMAGINARY_COLUMN": invalid identifier
SQL>此外,请注意字母大小写,特别是如果您创建的表/列使用大小写混合,并将这些名称放在双引号中(如果是这样,我建议您删除表并重新创建它们,不要使用双引号。如果您不能做到这一点,您将不得不使用双引号和完全相同的字母大小写来引用它们)。
所以-检查列名并将它们与您的查询进行比较。如果你仍然不能让它工作,发布一些更多的信息-表描述和你的代码。
发布于 2019-02-27 21:30:57
我也遇到过同样的问题。问题是Django希望您的表有主键(ID),所以当您的表没有键时,它会返回无效的列标识符。
https://docs.djangoproject.com/en/2.1/topics/db/models/#automatic-primary-key-fields
https://stackoverflow.com/questions/49516851
复制相似问题