Eliminar objeto relacionado a través de OneToOneField
¿Hay alguna forma inteligente de cómo realizar la eliminación en esta situación?
class Bus(models.Model):
wheel = OneToOneField(Wheel)
class Bike(models.Model):
wheel = OneToOneField(Wheel)
pedal = OneToOneField(Pedal)
class Car(models.Model):
wheel = OneToOneField(Wheel)
class Wheel(models.Model):
somfields
car = Car()
wheel = Wheel()
wheel.save()
car.wheel = wheel
car.save()
car.delete() # I want to delete also wheel (and also all stuff pointing via OneToOneField eg pedal)
¿Debo anular los métodos de eliminación de los modelos de automóvil, bicicleta o autobús o hay alguna forma mejor? Otra opción es crear campos de coches, bicicletas, autobuses en el modelo de ruedas, pero no tiene mucho sentido.