Две неща:
- Inspectdb не поддържа официално Oracle (вижте Django Docs - inspectdb ) тъжни времена.
- Django няма много силна поддръжка за схеми на Oracle (вижте неразрешен билет 6148 на Django ) Така че може да имате повече късмет, ако успеете да се свържете, като използвате основния потребител за схемата, като направите схемата, която искате да интроспектирате, схемата по подразбиране.
Успях да получа изходен файл с основен модел, като промених избора в introspection.py. За мен промених функцията get_table_list в django/db/backends/oracle/introspection.py (около ред 40) от:
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()]
Но се отказах от django, когато прочетох общата лоша поддръжка за схеми в Oracle