从数据库删除回调?

时间:2018-12-08 23:42:45

标签: django model

我的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 个答案:

答案 0 :(得分:0)

正如评论中提到的,post_delete信号是解决方法:

btnSave.setOnClickListener{
    // your code goes here
}