我想删除与文件字段关联的文件 但它不起作用。
你能解决它吗?
class Picture(models.Model):
file = models.FileField(upload_to="pictures")
slug = models.SlugField(max_length=50, blank=True)
def __unicode__(self):
return self.file
def getFileName(self):
return self.docfile.name
def delete(self, request, *args, **kwargs):
"""
This does not actually delete the file, only the database record.
"""
self.object = self.get_object()
path = "/media/pictures" + '/' + self.object.name
#path = MEDIA_ROOT + '/' + self.object.name
#path = MEDIA_ROOT + '/' + self.object.getFileName()
self.object.delete()
os.remove(path)
答案 0 :(得分:3)
您可以使用FileField
api:
Picture.objects.get(...).file.delete()
这将使用storage API删除该文件。这样做的好处是,即使您希望将存储切换到不同的系统(如Amazon S3),此方法仍然有效。