class BaseDatabaseIntrospection:
Known subclasses: django.db.backends.dummy.base.DatabaseIntrospection
, django.db.backends.mysql.introspection.DatabaseIntrospection
, django.db.backends.oracle.introspection.DatabaseIntrospection
, django.db.backends.postgresql.introspection.DatabaseIntrospection
, django.db.backends.sqlite3.introspection.DatabaseIntrospection
Method | __init__ |
Undocumented |
Method | django_table_names |
Return a list of all table names that have associated Django models and are in INSTALLED_APPS. |
Method | get_constraints |
Retrieve any constraints or keys (unique, pk, fk, check, index) across one or more columns. |
Method | get_field_type |
Hook for a database backend to use the cursor description to match a Django field type to a database column. |
Method | get_key_columns |
Backends can override this to return a list of: (column_name, referenced_table_name, referenced_column_name) for all key columns in given table. |
Method | get_migratable_models |
Undocumented |
Method | get_primary_key_column |
Return the name of the primary key column for the given table. |
Method | get_relations |
Return a dictionary of {field_name: (field_name_other_table, other_table)} representing all relationships to the given table. |
Method | get_sequences |
Return a list of introspected sequences for table_name. Each sequence is a dict: {'table': <table_name>, 'column': <column_name>}. An optional 'name' key can be added if the backend supports named sequences. |
Method | get_table_description |
Return a description of the table with the DB-API cursor.description interface. |
Method | get_table_list |
Return an unsorted list of TableInfo named tuples of all tables and views that exist in the database. |
Method | identifier_converter |
Apply a conversion to the identifier for the purposes of comparison. |
Method | installed_models |
Return a set of all models represented by the provided list of table names. |
Method | sequence_list |
Return a list of information about all DB sequences for all models in all apps. |
Method | table_names |
No summary |
Class Variable | data_types_reverse |
Undocumented |
Instance Variable | connection |
Undocumented |
Return a list of all table names that have associated Django models and are in INSTALLED_APPS.
If only_existing is True, include only the tables in the database.
django.db.backends.mysql.introspection.DatabaseIntrospection
, django.db.backends.oracle.introspection.DatabaseIntrospection
, django.db.backends.postgresql.introspection.DatabaseIntrospection
, django.db.backends.sqlite3.introspection.DatabaseIntrospection
Retrieve any constraints or keys (unique, pk, fk, check, index) across one or more columns.
Return a dict mapping constraint names to their attributes, where attributes is a dict with keys:
- columns: List of columns this covers
- primary_key: True if primary key, False otherwise
- unique: True if this is a unique constraint, False otherwise
- foreign_key: (table, column) of target, or None
- check: True if check constraint, False otherwise
- index: True if index, False otherwise.
- orders: The order (ASC/DESC) defined for the columns of indexes
- type: The type of the index (btree, hash, etc.)
Some backends may return special constraint names that don't exist if they don't name constraints of a certain type (e.g. SQLite)
django.db.backends.mysql.introspection.DatabaseIntrospection
, django.db.backends.oracle.introspection.DatabaseIntrospection
, django.db.backends.postgresql.introspection.DatabaseIntrospection
, django.db.backends.sqlite3.introspection.DatabaseIntrospection
Hook for a database backend to use the cursor description to match a Django field type to a database column.
For Oracle, the column data_type on its own is insufficient to distinguish between a FloatField and IntegerField, for example.
django.db.backends.mysql.introspection.DatabaseIntrospection
, django.db.backends.oracle.introspection.DatabaseIntrospection
, django.db.backends.postgresql.introspection.DatabaseIntrospection
, django.db.backends.sqlite3.introspection.DatabaseIntrospection
for all key columns in given table.
django.db.backends.oracle.introspection.DatabaseIntrospection
, django.db.backends.sqlite3.introspection.DatabaseIntrospection
django.db.backends.mysql.introspection.DatabaseIntrospection
, django.db.backends.oracle.introspection.DatabaseIntrospection
, django.db.backends.postgresql.introspection.DatabaseIntrospection
, django.db.backends.sqlite3.introspection.DatabaseIntrospection
django.db.backends.mysql.introspection.DatabaseIntrospection
, django.db.backends.oracle.introspection.DatabaseIntrospection
, django.db.backends.postgresql.introspection.DatabaseIntrospection
, django.db.backends.sqlite3.introspection.DatabaseIntrospection
django.db.backends.mysql.introspection.DatabaseIntrospection
, django.db.backends.oracle.introspection.DatabaseIntrospection
, django.db.backends.postgresql.introspection.DatabaseIntrospection
, django.db.backends.sqlite3.introspection.DatabaseIntrospection
django.db.backends.mysql.introspection.DatabaseIntrospection
, django.db.backends.oracle.introspection.DatabaseIntrospection
, django.db.backends.postgresql.introspection.DatabaseIntrospection
, django.db.backends.sqlite3.introspection.DatabaseIntrospection
Apply a conversion to the identifier for the purposes of comparison.
The default identifier converter is for case sensitive comparison.