title: How to delete files from filesystem using post_delete - Django 1.8
body: <p>I have a model - Product, which contains a thumbnail image. I have another model which contains images associated with the product - ProductImage.
  I want to delete both the thumbnail and the images from the server when the product instance is deleted, and for a while this seemed to worked, but not anymore.</p>
  
  <p>Relevant code...</p>
  
  <pre><code>Class Product(models.Model):
      title = Charfield
      thumbnail = ImageField(upload_to='thumbnails/', verbose_name='thumbnail', blank=True, )
  
  Class ProductImage(models.Model):
      product = models.ForeignKey(plant, default=None, related_name='images')
      image = models.ImageField(upload_to='images/', verbose_name='image',)
  </code></pre>
  
  <p>The following delete method (in the product class) was working, but I changed my code and it no longer works - and from what i have read it is best practice to use post_delete, rather then override delete()</p>
  
  <pre><code>def delete(self):
      images = ProductImage.objects.filter(product=self)
      if images:
          for image in images:
              image.delete()
      super(Product, self).delete()
  </code></pre>
  
  <p>How can I rewrite a delete method which will achieve what I want? I have tried to use post_delete but so far I have been unsuccessful because I am not sure how to apply it when it comes to deleting the ProductImage instance...</p>