我有一个模型 - 产品,其中包含一个缩略图。我有另一个模型,其中包含与产品相关的图像 - 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',)
以下删除方法(在产品类中)有效,但我更改了代码,但它不再有效 - 从我所阅读的内容来看,最好的做法是使用 post_delete,而不是覆盖 delete()
def delete(self):
images = ProductImage.objects.filter(product=self)
if images:
for image in images:
image.delete()
super(Product, self).delete()
我怎样才能重写一个删除方法来实现我想要的?我曾尝试使用 post_delete 但到目前为止我一直没有成功,因为我不确定在删除 ProductImage 实例时如何应用它......