我的Django应用程序使用Amazon S3存储来存储他们上传的用户数据文件 . 我将指针(使用uuid)存储到模型中的文件:
model.py:
class Gedcom(models.Model):
"""Gedcom model."""
user = models.ForeignKey(User, on_delete=models.CASCADE)
filename = models.CharField(max_length=100, default="")
title = models.CharField(max_length=100, default="")
uuid = models.CharField(max_length=36, default="")
有没有办法在删除gedcom项目时(例如通过管理界面或通过我的其他代码)执行排序回调调用方法,以便我可以从S3删除该文件?
我可以运行一个管理功能作为cron作业的一部分,如果它们在本地数据库中不再存在,则删除S3上的未链接文件,但我想知道是否有另一种方法可以做到更清洁?
1 回答
正如评论中所提到的,post_delete信号是要走的路: