我想到了。我只是将其放在该Widget模型上:
def delete(self): files = WidgetFile.objects.filter(widget=self) if files: for file in files: file.delete() super(Widget, self).delete()
这触发了每个相关对象上必要的delete()方法,从而触发了我的自定义文件删除代码。是的,数据库的开销更大,但是,无论如何,如果您试图删除硬盘上的文件,那么多次访问数据库并不是很大的花费。



