To ting:
- Inspectdb understøtter ikke officielt Oracle (se Django Docs - inspectdb ) triste tider.
- Django har ikke særlig stærk understøttelse af Oracle-skemaer (se uløst Django-billet 6148 ) Så du kan have bedre held, hvis du er i stand til at oprette forbindelse ved hjælp af hovedbrugeren til skemaet, hvilket gør det skema, du ønsker at introspektere, til standardskemaet.
Jeg var i stand til at få en grundlæggende modelfil-output ved at ændre en select i introspection.py. For mig ændrede jeg funktionen get_table_list i django/db/backends/oracle/introspection.py (omkring linje 40) fra:
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()]
Til
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()]
Men opgav django, da jeg læste den overordnede dårlige understøttelse af skemaer i Oracle