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

  1. Add a "remove file" field for Image- or FileFields by rodrigoc 6 years, 11 months ago
  2. Removing old ImageFields and FileFields when updating through admin by alejandro.alonso 3 years, 1 month ago
  3. Clear FileField/ImageField files in the Admin by marinho 5 years, 11 months ago
  4. Updated FileField / ImageField with a delete checkbox by tomZ 7 years, 3 months ago
  5. Add delete button in admin cp by cschand 7 years, 3 months ago

Comments

Please login first before commenting.