Je suis en train de construire une application web en Django. J'ai un modèle qui télécharge un fichier, mais je ne peux pas supprimer le fichier. Voici mon code :
class Song(models.Model):
name = models.CharField(blank=True, max_length=100)
author = models.ForeignKey(User, to_field='id', related_name="id_user2")
song = models.FileField(upload_to='/songs/')
image = models.ImageField(upload_to='/pictures/', blank=True)
date_upload = models.DateField(auto_now_add=True)
def delete(self, *args, **kwargs):
# You have to prepare what you need before delete the model
storage, path = self.song.storage, self.song.path
# Delete the model before the file
super(Song, self).delete(*args, **kwargs)
# Delete the file after the model
storage.delete(path)
Ensuite, en python manage.py shell
Je fais ça :
song = Song.objects.get(pk=1)
song.delete()
Il supprime l'enregistrement de la base de données mais pas le fichier sur le serveur. Que puis-je essayer d'autre ?
Merci !