With the following models:
class Place (models.Model):
name = models.CharField (max_length = 255, unique = True)
class Store (Place):
manager = models.CharField (max_length = 255)
This is the behavior of delete(), which is unexpected. Attempting to delete objects with inherited relationships leaves a trail of half-built objects behind. The call to store.delete() should also remove the associated Place.
>>> store = Store.objects.create (name = "My Store", manager = "Frank")
>>> store.id
1
>>> store.delete ()
>>> Place.objects.get (id = 1).name
'My Store'
>>> Store.objects.create (name = "My Store", manager = "Bob")
Traceback (most recent call last):
...
IntegrityError: (1062, "Duplicate entry 'My Store' for key 2")
>>>