Delete a model from the database.
(self, model)
| 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.""" |
no test coverage detected