私は2つのモデルを持っており、それぞれに画像があります。 1つは、親に外部キーを持っています。親を削除すると、ディスク上のイメージファイルと共に親と子を削除したいと思います。私はdeleteメソッドをオーバーライドすることを行うには:私はMyModelParentのインスタンスを削除親を削除するときに、子モデルの削除メソッドが呼び出されない?
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)
、そのオーバーライドされた削除()と呼ばれますが、ない(それらはDBから削除されますが)子供のもの、それらの画像はディスク上に残ります。誰でも私が間違っていることを知っていますか?
信号を接続するリンクがもう機能していません。 :-( – physicalattraction