Dvě věci:
- Inspectdb oficiálně nepodporuje oracle (viz Dokumenty Django – inspectdb ) smutné časy.
- Django nemá příliš silnou podporu pro schémata Oracle (viz nevyřešený tiket Django 6148 ) Možná budete mít větší štěstí, pokud se budete moci připojit pomocí hlavního uživatele schématu, čímž se schéma, které si přejete prohlédnout, stane výchozím schématem.
Podařilo se mi získat základní výstup souboru modelu změnou výběru v introspection.py. Pro mě jsem změnil funkci get_table_list v django/db/backends/oracle/introspection.py (kolem řádku 40) z:
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()]
Komu
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()]
Ale vzdal jsem to django, když jsem si přečetl celkově špatnou podporu schémat v Oracle