Saludos.
Cómo puedo hacer que Django borre FÍSICAMENTE un archivo y no solamente el valor en la base de datos?
Recibe ayuda de expertos
Es gratis y fácil
Respuestas, votos y comentarios
Recibe puntos, vota y da la solución
Saludos.
Cómo puedo hacer que Django borre FÍSICAMENTE un archivo y no solamente el valor en la base de datos?
intenta con signals, en tu caso creo que la clase que envia la señal es directorios
en tu models.py agrega esto:
from django.db.models.signals import pre_delete, post_delete
from django.dispatch import receiver
from django.conf import settings
import os
@receiver(pre_delete, sender=directorios)
def _directorios_delete(sender, instance, using, **kwargs):
file_path = settings.BASE_DIR + str(instance.archivo)
if os.path.isfile(file_path):
os.remove(file_path)