Dua hal:
- Inspectdb tidak secara resmi mendukung Oracle (lihat Django Documents - inspectdb ) saat-saat sedih.
- Django tidak memiliki dukungan yang sangat kuat untuk skema Oracle ( lihat tiket Django yang belum terselesaikan 6148 ) Jadi Anda mungkin lebih beruntung jika Anda dapat terhubung menggunakan pengguna utama untuk skema, membuat skema yang ingin Anda introspeksi menjadi skema default.
Saya bisa mendapatkan output file model dasar dengan mengubah pilih di introspection.py. Bagi saya, saya mengubah fungsi get_table_list di Django/db/backends/Oracle/introspection.py (sekitar baris 40) dari:
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()]
Untuk
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()]
Tetapi menyerah pada Django ketika saya membaca keseluruhan dukungan yang buruk untuk skema di Oracle