title: Overridden delete method of child model does not get called when deleting parent?
body: <p>I have a two models, each with an image. One has a foreign key to the parent. When I delete the parent I want to delete the parent and child along with their image file on the disk. To do that I override the delete method:</p>
  
  <pre><code>class MyModelParent(models.Model):
     image = models.ImageField(upload_to = "images/" )
  
     def delete(self, *args, **kwargs):     
        if self.image:
            self.image.delete()
        super(MyModelParent, self).delete(*args, **kwargs)
  
  class MyModelChild(models.Model):
     parent = models.ForeignKey(MyModelParent)
     image = models.ImageField(upload_to = "images/" )
  
     def delete(self, *args, **kwargs):     
        if self.image:
            self.image.delete()
        super(MyModelChild, self).delete(*args, **kwargs)
  </code></pre>
  
  <p>When I delete an instance of MyModelParent, its overridden delete() gets called, but not the ones of the children (even though they get deleted from the DB), so their images remain on the disk. Anyone know what I am doing wrong?</p>