Opened 15 months ago

Last modified 15 months ago

#34796 closed Bug

Deleting child table does not delete columns in parent table when using multi-table inheritance — at Initial Version

Reported by: Stephen Finucane Owned by: nobody
Component: Database layer (models, ORM) Version: 4.2
Severity: Normal Keywords:
Cc: Triage Stage: Unreviewed
Has patch: no Needs documentation: no
Needs tests: no Patch needs improvement: no
Easy pickings: no UI/UX: no

Description

I am aware that we don't use database-level cascades (ticket:21961) but I expected this to be implemented by Django in Python, given the docs (https://docs.djangoproject.com/en/4.2/topics/db/models/#multi-table-inheritance) say that the automatically-created OneToOneField on the child model will have on_delete=models.CASCADE.

place_ptr = models.OneToOneField(
    Place,
    on_delete=models.CASCADE,
    parent_link=True,
    primary_key=True,
)

I have produced a reproducer which I will provide a link to shortly. In summary though, you simply need to create a table using multi-table inheritance and then delete that table. While the child table will be deleted, the corresponding rows in the parent table will remain,

Change History (0)

Note: See TracTickets for help on using tickets.
Back to Top