У меня есть две модели, каждая с изображением.У одного есть внешний ключ к родителю.Когда я удаляю родителя, я хочу удалить родителя и потомка вместе с их файлом изображения на диске.Чтобы сделать это, я перезаписываю метод delete:
class MyModelParent(models.Model):
image = models.ImageField(upload_to = "images/" )
def delete(self, *args, **kwargs):
if self.image:
self.image.delete()
super(MyModelParent, self).delete(*args, **kwargs)
class MyModelChild(models.Model):
parent = models.ForeignKey(MyModelParent)
image = models.ImageField(upload_to = "images/" )
def delete(self, *args, **kwargs):
if self.image:
self.image.delete()
super(MyModelChild, self).delete(*args, **kwargs)
Когда я удаляю экземпляр MyModelParent, вызывается его переопределенная функция delete (), но не дочерние (даже если они удаляются из БД), поэтому их образы остаются на диске.Кто-нибудь знает, что я делаю не так?