Python 使用Django 1.9删除模型对象时,如何让Django删除文件?
我试图让Django 1.9版在删除模型时删除与模型中的文件字段对应的文件。我的第一次尝试是基于的,但从Django 1.8及以后似乎不起作用。另一个答案为我指明了方向,但它对我也不起作用(可能是因为它在内部使用相同的方法吗?)。我也尝试过,但该方法从未触发。那么,新的方法是什么呢?任何在删除模型时删除文件的方法对我来说都是好的。在我看来,我采用了以下解决方法:Python 使用Django 1.9删除模型对象时,如何让Django删除文件?,python,django,django-models,Python,Django,Django Models,我试图让Django 1.9版在删除模型时删除与模型中的文件字段对应的文件。我的第一次尝试是基于的,但从Django 1.8及以后似乎不起作用。另一个答案为我指明了方向,但它对我也不起作用(可能是因为它在内部使用相同的方法吗?)。我也尝试过,但该方法从未触发。那么,新的方法是什么呢?任何在删除模型时删除文件的方法对我来说都是好的。在我看来,我采用了以下解决方法: @login_required def deleteDataset(request, pk): instance = Data
@login_required
def deleteDataset(request, pk):
instance = DatasetModel.objects.defer('filecontent').get(pk=pk)
if request.method == 'POST':
path = instance.filecontent.path
instance.delete()
if os.path.isfile(path):
os.remove(path)
return redirect(main)
else:
return redirect(main)
但是我还是想找到一个更好的解决方案,因为我更愿意让观点尽可能简短你的问题太宽泛了,但看看这个答案是否有用