У меня есть следующий код, чтобы удалить файл:Удаление загруженных файлов в Django
from django.db import models
from django import forms
import os
class Document(models.Model):
docfile = models.FileField(upload_to='documents/%Y/%m/%d')
def __unicode__(self):
return '%s' % (self.docfile.name)
def delete(self, *args, **kwargs):
os.rmdir(os.path.join(settings.MEDIA_ROOT, self.docfile.name))
super(Document,self).delete(*args,**kwargs)
Это удается удалить объекты я прошу его в моем views.py, но когда я выкладывание файл с таким же именем кажется, что исходный файл все еще существует, так как я получаю «output_1.txt» вместо «output.txt».
Это код, который я использую для удаления:
def delete_matrix():
documents = Document.objects.all()
documents.delete()
ли я не удалить файл из базы данных? Любая помощь будет оценена по достоинству.
нет У меня не получилось исключение, os.remove, похоже, не исправил ошибку. – user2569766
Мы получили тот же ответ! Я исправил эту последнюю ночь, и я понял, что не должен переопределять метод удаления вообще, я просто добавил os.remove (...) после document.delete() – user2569766