我有以下删除方法,这在单独删除1条记录时有效,但在管理员中删除多条记录时却没有,即通过列表视图,为什么以及如何修复?
def delete(self, *args, **kwargs):
this = Profile.objects.get(id=self.id)
this.image.delete(save=True)
super(Profile, self).delete(*args, **kwargs)
答案 0 :(得分:2)
我建议您使用signals
删除相关图片,然后查看documentation中的pre_delete signal
。
答案 1 :(得分:1)
Django文档实际上通过管理操作提及了您的确切情况:https://docs.djangoproject.com/en/dev/ref/contrib/admin/actions/
或者,如果要在其他地方使用Model.objects.delete
,可以考虑覆盖默认的Manager和QuerySet模型。