Login

File deletion of FileField and ImageField in the Admin panel

Author:
davmuz
Posted:
July 4, 2012
Language:
Python
Version:
1.4
Score:
2 (after 2 ratings)

This code runs well on Django 1.4 also with the Admin panel. It's important to get the storage and the path before delete the model or the latter will persist void also if deleted.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
class ImageModel(models.Model):
    image = ImageField(...)

    def delete(self, *args, **kwargs):
        # You have to prepare what you need before delete the model
        storage, path = self.image.storage, self.image.path
        # Delete the model before the file
        super(ImageModel, self).delete(*args, **kwargs)
        # Delete the file after the model
        storage.delete(path)

More like this

  1. Template tag - list punctuation for a list of items by shapiromatron 10 months, 1 week ago
  2. JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 10 months, 2 weeks ago
  3. Serializer factory with Django Rest Framework by julio 1 year, 5 months ago
  4. Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 6 months ago
  5. Help text hyperlinks by sa2812 1 year, 6 months ago

Comments

Please login first before commenting.