MCPcopy
hub / github.com/django/django / delete_model

Method delete_model

django/db/backends/base/schema.py:548–567  ·  view source on GitHub ↗

Delete a model from the database.

(self, model)

Source from the content-addressed store, hash-verified

546 self.create_model(field.remote_field.through)
547
548 def delete_model(self, model):
549 """Delete a model from the database."""
550 # Handle auto-created intermediary models
551 for field in model._meta.local_many_to_many:
552 if field.remote_field.through._meta.auto_created:
553 self.delete_model(field.remote_field.through)
554
555 # Delete the table
556 self.execute(
557 self.sql_delete_table
558 % {
559 "table": self.quote_name(model._meta.db_table),
560 }
561 )
562 # Remove all deferred statements referencing the deleted table.
563 for sql in list(self.deferred_sql):
564 if isinstance(sql, Statement) and sql.references_table(
565 model._meta.db_table
566 ):
567 self.deferred_sql.remove(sql)
568
569 def add_index(self, model, index):
570 """Add an index on a model."""

Callers 1

remove_fieldMethod · 0.95

Calls 4

executeMethod · 0.95
quote_nameMethod · 0.95
references_tableMethod · 0.45
removeMethod · 0.45

Tested by

no test coverage detected