﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
18889	Provide a simple way to retain parent instances after children are deleted	anonymous	nobody	"I have a Location table with two children (using table-inheritance): Restaurant and ChipShop. There should be a simple way to convert a ChipShop to a Restaurant without deleting/recreating the Location which may be referenced by lots of foreign keys, e.g:

{{{
location = Location.objects.get(1) # Currently a ChipShop
restaurant = Restaurant(location_ptr=location)
restaurant.save()
location.chipshop.delete() # Deletes the ChipShop row but not the Location
}}}


Currently this can be achieved by using raw sql to bypass django's code that deletes the parent when a child is deleted. Doing the following does not work as the parent is still deleted, perhaps this is a bug?

{{{
class ChipShop(Location);
   location_ptr = models.OneToOneField(Location, on_delete=DO_NOTHING, parent_link=True)
}}}

Modifying the on_delete of the created location_ptr does nothing as well. Perhaps a setting in the parents Meta that could be used to specify that the parent should not be deleted when the child is?"	New feature	closed	Database layer (models, ORM)	dev	Normal	duplicate		ionel.mc@… charette.s@…	Accepted	0	0	0	0	0	0
