Delete the file related on the FileField

58 views
Skip to first unread message

Karim

unread,
Feb 24, 2015, 8:30:53 PM2/24/15
to Django Users
I'm using a form that get an image and store it in the database. Doing my (manual) tests I discover that the deleting the FileField doesn't remove the associated file on the hard disk. Is there a design pattern to handle the remaining file?

Thank you.

--
Karim N. Gorjux

Rodrigo Zayit

unread,
Feb 25, 2015, 10:27:34 AM2/25/15
to django...@googlegroups.com
Hi Karim,

You can do:

from django.db.models.signals import pre_delete
from django.dispatch.dispatcher import receiver

@receiver(pre_delete, sender=ModelName)
def modelname_delete(sender, instance, **kwargs):
    instance.field_name.delete(False)

or on your model you can write your delete method:

def delete(self, *args, **kwargs):
        self.field_name.storage.delete(self.field_name.path)
        return super(ModelName, self).delete(*args, **kwargs)


Best regards,
Rodrigo Zayit

Karim

unread,
Feb 25, 2015, 5:51:19 PM2/25/15
to Django Users

On Thu, Feb 26, 2015 at 2:13 AM, Rodrigo Zayit <rod...@zayit.com.br> wrote:
Hi Karim,
​[....]​


Thank you!


--
Karim N. Gorjux
Reply all
Reply to author
Forward
0 new messages