如何删除与模型对象相关的图像 - Django

时间:2015-10-06 13:03:48

标签: django

下面有两个模型,三个ModelForms(添加/编辑,删除,图像) 关于添加蔬菜'页面,这两个模型的模型表单允许一个人添加一个新的蔬菜并添加图片。我还有一个编辑和删除菜页:

在我的删除菜单页面上,我希望删除蔬菜对象时从文件系统中删除相关图像,我已阅读有关post_delete但我不知道如何在我的视图中实现此功能。

在编辑页面上,我希望能够单独查看和删除图像。我的编辑页面预先填充了模型实例,但我不确定如何显示与模型相关的图像并使其可编辑。

我如何实现这一目标? 我不确定我是否必须在我的模型中执行此操作,或者是否应该在我的视图中执行此操作...

class Vegetable
    ...

Class VegetableImage(models.Model):
    vegetable = models.ForeignKey(Vegetable, default=None, related_name='images')
    image = models.ImageField(upload_to='images/')

1 个答案:

答案 0 :(得分:0)

我会覆盖Vegetable类的delete方法。

https://docs.djangoproject.com/en/1.8/ref/models/instances/#django.db.models.Model.delete

在这里,找到所有相关的VegetableImage对象(self.images)并删除它们

祝你好运