def save(self, *args, **kwargs):
# delete old file when replacing by updating the file
try:
this = Model.objects.get(id=self.id)
if this.image != self.image:
this.image.delete(save=False)
except: pass # when new photo then we do nothing, normal case
super(Model, self).save(*args, **kwargs)
или
@receiver(models.signals.pre_save, sender=Model, weak=False)
def delete_replace_resources(sender, instance, **kwargs):
try:
this = sender.objects.get(id=instance.id)
if this.image != instance.image:
this.image.delete(save=False)
except: pass
Updated 25 March 2015, 0:06 by kjefes.