サムネイル画像を含むモデル - 製品があります。製品に関連付けられた画像を含む別のモデル、ProductImage があります。製品インスタンスが削除されたときにサムネイルと画像の両方をサーバーから削除したいのですが、しばらくの間はうまくいったように見えましたが、もううまくいきませんでした。
関連コード...
Class Product(models.Model):
title = Charfield
thumbnail = ImageField(upload_to='thumbnails/', verbose_name='thumbnail', blank=True, )
Class ProductImage(models.Model):
product = models.ForeignKey(plant, default=None, related_name='images')
image = models.ImageField(upload_to='images/', verbose_name='image',)
次の削除メソッド (製品クラス内) は機能していましたが、コードを変更したところ機能しなくなりました。私が読んだことから、delete() をオーバーライドするのではなく、post_delete を使用するのがベスト プラクティスです。
def delete(self):
images = ProductImage.objects.filter(product=self)
if images:
for image in images:
image.delete()
super(Product, self).delete()
私が望むものを達成するdeleteメソッドを書き直すにはどうすればよいですか? post_delete を使用しようとしましたが、 ProductImage インスタンスの削除に関しては、それを適用する方法がわからないため、これまでのところ失敗しています...