Django-在FileField删除后删除文件

时间:2019-05-19 08:16:10

标签: python django

我有一个Django项目,在我使用文件字段上传文件的情况下。

我想做的是删除链接到试图删除的对象的文件字段文件。

我以本文档为例: https://djangosnippets.org/snippets/10638/

当我使用这些功能时,我在服务器上得到以下错误: “错误32-该进程无法访问该文件,因为它正在被另一个进程使用” 我认为使用它的进程是django服务器,因为我尝试使用常规的python脚本(相同的功能)和批处理将其删除,并且效果很好。

有人知道解决这个问题的方法吗?

1 个答案:

答案 0 :(得分:1)

您要在删除整个模型时删除文件(FileField,ImageField)吗?

尝试这样。

from django.db import models

class MyModel(models.Model)
    ''' for example this is your model '''
    name = models.CharField(max_length=255)
    image = models.ImageField(upload_to='/test/var/')

# this is your view
mm = MyModel.objects.get(pk=111)
# print(mm.image)
mm.image.close() # add this line
mm.image.delete() # this will delete file and not model