Tengo un modelo con un Picture
ImageField
. Al eliminar una instancia de Picture
, no se elimina el archivo establecido en ImageField
.archivo de imagen no elimina al objeto con el campo ImageField se elimina
¿Es un error? ¿Cómo puedo hacerlo?
Tengo un modelo con un Picture
ImageField
. Al eliminar una instancia de Picture
, no se elimina el archivo establecido en ImageField
.archivo de imagen no elimina al objeto con el campo ImageField se elimina
¿Es un error? ¿Cómo puedo hacerlo?
Supresión de archivos asociados con FileField
s y ImageField
s era intencionalmente eliminado en Django 1.3. Ver ticket #6456. Django usa las transacciones extensamente para evitar la corrupción de datos si algo sale mal con la solicitud. Si se realiza una transferencia de una transacción de eliminación, después de que el archivo se haya eliminado del sistema de archivos, entonces ahora tiene un registro que apunta a un archivo inexistente. Todas las entradas que solicitan la eliminación automática para volver han sido marcadas sumariamente "No se Corrigirá", por lo que esto no va a cambiar.
Para soluciones, consulte this previous StackOverflow question.
¿Las suposiciones?
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)
luego le permite crear y eliminar manualmente este ..
image = "./image.jpg"
picture = Picture.objects.create(image=File(open(image, "r"))
picture.save()
Entonces eliminarla?
picture.delete()
HTH
¿Cómo es tu punto de vista parece? – rh0dium
No tengo vista. – jul
posible duplicado de [¿Cómo obtengo que Django Admin elimine archivos cuando elimino un objeto de la base de datos/modelo?] (Http://stackoverflow.com/questions/5372934/how-do-i-get-django-admin -to-delete-archivos-en-i-quito-un-objeto-de-la-datab) –