Login

File deletion of FileField and ImageField in the Admin panel

Author:
davmuz
Posted:
July 4, 2012
Language:
Python
Version:
1.4
Tags:
admin imagefield filefield delete file
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

Comments

Please login first before commenting.