首页 > 解决方案 > Django 在模型删除时删除多个 ImageField 文件

问题描述

我有一个带有两个 ImageField 的 Image 模型(一个用于常规图像,一个用于缩略图)。我正在尝试将这两个文件与 post_delete 接收器一起删除,但我在链接操作时遇到了困难。

我抛出的文件不存在错误可能是因为只有一个删除保存。

class Image(models.Model):
    path = models.ImageField(upload_to=photo_image_upload_path,blank=False, null=False)
    thumb = models.ImageField(upload_to='', editable=False, default=None, null=True)

@receiver(post_delete, sender=Image)
def photo_delete(sender, instance, **kwargs):
    # Pass false so FileField doesn't save the model.
    if instance.thumb is not None:
        instance.thumb.delete(True)
    if instance.path is not None:
        instance.path.delete(False)

标签: djangodjango-models

解决方案


推荐阅读