class documentation

Undocumented

Method __enter__ Undocumented
Method __exit__ Undocumented
Method add_constraint Add a constraint to a model.
Method add_field Create a field on a model.
Method alter_db_table Rename the table a model points to.
Method alter_field Allow a field's type, uniqueness, nullability, default, column, constraints, etc. to be modified. `old_field` is required to compute the necessary changes. If `strict` is True, raise errors if the old column does not match `old_field` precisely.
Method delete_model Delete a model from the database.
Method prepare_default Only used for backends which have requires_literal_defaults feature
Method quote_value Return a quoted version of the value so it's safe to use in an SQL string. This is not safe against injection from user code; it is intended only for use in making SQL scripts or preparing default values for particularly tricky backends (defaults are not user-defined, though, so this is safe).
Method remove_constraint Remove a constraint from a model.
Method remove_field Remove a field from a model. Usually involves deleting a column, but for M2Ms may involve deleting a table.
Class Variable sql_create_fk Undocumented
Class Variable sql_create_inline_fk Undocumented
Class Variable sql_create_unique Undocumented
Class Variable sql_delete_column Undocumented
Class Variable sql_delete_table Undocumented
Class Variable sql_delete_unique Undocumented
Instance Variable deferred_sql Undocumented
Method _alter_field Perform a "physical" (non-ManyToMany) field update.
Method _alter_many_to_many Alter M2Ms to repoint their to= endpoints.
Method _collate_sql Undocumented
Method _is_referenced_by_fk_constraint Return whether or not the provided table name is referenced by another one. If `column_name` is specified, only references pointing to that column are considered. If `ignore_self` is True, self-referential constraints are ignored.
Method _remake_table Shortcut to transform a model from old_model into new_model

Inherited from BaseDatabaseSchemaEditor:

Method __init__ Undocumented
Method add_index Add an index on a model.
Method alter_db_tablespace Move a model's table between tablespaces.
Method alter_index_together Deal with a model changing its index_together. The input index_togethers must be doubly-nested, not the single-nested ["foo", "bar"] format.
Method alter_unique_together Deal with a model changing its unique_together. The input unique_togethers must be doubly-nested, not the single-nested ["foo", "bar"] format.
Method column_sql Return the column definition for a field. The field must already have had set_attributes_from_name() called.
Method create_model Create a table and any accompanying indexes or unique constraints for the given `model`.
Method effective_default Return a field's effective database default value.
Method execute Execute the given SQL statement, with optional parameters.
Method quote_name Undocumented
Method remove_index Remove an index from a model.
Method remove_procedure Undocumented
Method rename_index Undocumented
Method skip_default Some backends don't accept default values for certain columns types (i.e. MySQL longtext and longblob).
Method skip_default_on_alter Some backends don't accept default values for certain columns types (i.e. MySQL longtext and longblob) in the ALTER COLUMN statement.
Method table_sql Take a model and return its table definition.
Class Variable sql_alter_column Undocumented
Class Variable sql_alter_column_collate Undocumented
Class Variable sql_alter_column_default Undocumented
Class Variable sql_alter_column_no_default Undocumented
Class Variable sql_alter_column_not_null Undocumented
Class Variable sql_alter_column_null Undocumented
Class Variable sql_alter_column_type Undocumented
Class Variable sql_check_constraint Undocumented
Class Variable sql_constraint Undocumented
Class Variable sql_create_check Undocumented
Class Variable sql_create_column Undocumented
Class Variable sql_create_column_inline_fk Undocumented
Class Variable sql_create_index Undocumented
Class Variable sql_create_pk Undocumented
Class Variable sql_create_table Undocumented
Class Variable sql_create_unique_index Undocumented
Class Variable sql_delete_constraint Undocumented
Class Variable sql_delete_index Undocumented
Class Variable sql_delete_procedure Undocumented
Class Variable sql_rename_column Undocumented
Class Variable sql_rename_index Undocumented
Class Variable sql_rename_table Undocumented
Class Variable sql_retablespace_table Undocumented
Class Variable sql_unique_constraint Undocumented
Class Variable sql_update_with_default Undocumented
Instance Variable atomic Undocumented
Instance Variable atomic_migration Undocumented
Instance Variable collect_sql Undocumented
Instance Variable collected_sql Undocumented
Instance Variable connection Undocumented
Static Method _effective_default Undocumented
Method _alter_column_collation_sql Undocumented
Method _alter_column_default_sql Hook to specialize column default alteration.
Method _alter_column_null_sql Hook to specialize column null alteration.
Method _alter_column_type_sql Hook to specialize column type alteration for different backends, for cases when a creation type is different to an alteration type (e.g. SERIAL in PostgreSQL, PostGIS fields).
Method _check_sql Undocumented
Method _column_default_sql Return the SQL to use in a DEFAULT clause. The resulting string should contain a '%s' placeholder for a default value.
Method _constraint_names Return all constraint names matching the columns and conditions.
Method _create_check_sql Undocumented
Method _create_fk_sql Undocumented
Method _create_index_name Generate a unique name for an index/unique constraint.
Method _create_index_sql Return the SQL statement to create the index for one or several fields or expressions. `sql` can be specified if the syntax differs from the standard (GIS indexes, ...).
Method _create_primary_key_sql Undocumented
Method _create_unique_sql Undocumented
Method _deferrable_constraint_sql Undocumented
Method _delete_check_sql Undocumented
Method _delete_composed_index Undocumented
Method _delete_constraint_sql Undocumented
Method _delete_fk_sql Undocumented
Method _delete_index_sql Undocumented
Method _delete_primary_key Undocumented
Method _delete_primary_key_sql Undocumented
Method _delete_unique_sql Undocumented
Method _field_became_primary_key Undocumented
Method _field_indexes_sql Return a list of all index SQL statements for the specified field.
Method _field_should_be_altered Undocumented
Method _field_should_be_indexed Undocumented
Method _fk_constraint_name Undocumented
Method _get_index_tablespace_sql Undocumented
Method _index_columns Undocumented
Method _index_condition_sql Undocumented
Method _index_include_sql Undocumented
Method _iter_column_sql Undocumented
Method _model_indexes_sql Return a list of all index SQL statements (field indexes, index_together, Meta.indexes) for the specified model.
Method _rename_field_sql Undocumented
Method _rename_index_sql Undocumented
Method _unique_constraint_name Undocumented
Method _unique_should_be_added Undocumented
Method _unique_sql Undocumented
def __exit__(self, exc_type, exc_value, traceback): (source)
def add_constraint(self, model, constraint): (source)
def alter_db_table(self, model, old_db_table, new_db_table, disable_constraints=True): (source)
def alter_field(self, model, old_field, new_field, strict=False): (source)

Allow a field's type, uniqueness, nullability, default, column, constraints, etc. to be modified. `old_field` is required to compute the necessary changes. If `strict` is True, raise errors if the old column does not match `old_field` precisely.

def prepare_default(self, value): (source)

Only used for backends which have requires_literal_defaults feature

def quote_value(self, value): (source)

Return a quoted version of the value so it's safe to use in an SQL string. This is not safe against injection from user code; it is intended only for use in making SQL scripts or preparing default values for particularly tricky backends (defaults are not user-defined, though, so this is safe).

def remove_constraint(self, model, constraint): (source)
def remove_field(self, model, field): (source)

Remove a field from a model. Usually involves deleting a column, but for M2Ms may involve deleting a table.

sql_delete_unique: str = (source)

Undocumented

def _alter_field(self, model, old_field, new_field, old_type, new_type, old_db_params, new_db_params, strict=False): (source)

Perform a "physical" (non-ManyToMany) field update.

def _alter_many_to_many(self, model, old_field, new_field, strict): (source)

Alter M2Ms to repoint their to= endpoints.

def _collate_sql(self, collation): (source)
def _is_referenced_by_fk_constraint(self, table_name, column_name=None, ignore_self=False): (source)

Return whether or not the provided table name is referenced by another one. If `column_name` is specified, only references pointing to that column are considered. If `ignore_self` is True, self-referential constraints are ignored.

def _remake_table(self, model, create_field=None, delete_field=None, alter_field=None): (source)

Shortcut to transform a model from old_model into new_model This follows the correct procedure to perform non-rename or column addition operations based on SQLite's documentation https://www.sqlite.org/lang_altertable.html#caution The essential steps are: 1. Create a table with the updated definition called "new__app_model" 2. Copy the data from the existing "app_model" table to the new table 3. Drop the "app_model" table 4. Rename the "new__app_model" table to "app_model" 5. Restore any index of the previous "app_model" table.