У меня есть модель - Продукт, который содержит миниатюру изображения. У меня есть другая модель, которая содержит изображения, связанные с продуктом — 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...