32👍
✅
Deletion of files associated with FileField
s and ImageField
s was intentionally removed in Django 1.3. See ticket #6456. Django uses transactions extensively to prevent data corruption if something goes wrong with the request. If a deletion transaction is rolled-backed, after the file has been deleted from the filesystem, then you now have a record pointing to a non-existent file. All tickets asking for automatic deletion to return have been summarily marked “Won’t Fix”, so this is not going to change.
For workarounds, see this previous StackOverflow question.
1👍
The assumptions?
class Picture(models.Model):
image = ImageField(blank=True, null=True, upload_to="pics")
def delete(self, *args, **kwargs):
self.image.delete()
super(Picture, self).delete(*args, **kwargs)
Then lets manually create and delete this..
image = "./image.jpg"
picture = Picture.objects.create(image=File(open(image, "r"))
picture.save()
Then delete it?
picture.delete()
HTH
Source:stackexchange.com