2つのこと:
- Inspectdbは公式にoracleをサポートしていません( Django Docs-inspectdb )悲しい時。
- DjangoはOracleスキーマをあまり強力にサポートしていません(未解決のDjangoチケット6148を参照> )したがって、スキーマのメインユーザーを使用して接続でき、デフォルトのスキーマをイントロスペクトしたいスキーマを作成できれば、幸運が得られる可能性があります。
introspection.pyのselectを変更することで、基本的なモデルファイルの出力を取得することができました。私の場合、django / db / backends / oracle / introspection.py(40行目あたり)のget_table_list関数を次のように変更しました:
def get_table_list(self, cursor):
"Returns a list of table names in the current database."
cursor.execute("SELECT TABLE_NAME FROM USER_TABLES")
return [row[0].lower() for row in cursor.fetchall()]
def get_table_list(self, cursor):
"Returns a list of table names in the current database."
cursor.execute("SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER = 'SCHEMA_TO_QUERY'")
return [row[0].lower() for row in cursor.fetchall()]
しかし、Oracleでのスキーマの全体的なサポートが不十分であると読んだとき、djangoをあきらめました