调用ImageField.delete()后数据库文件路径记录未清除的解决方法
解决Django ImageField删除文件后数据库路径残留的问题
你在models.py里定义的字段:
Picture = models.ImageField('Picture', null=True, blank=True)
执行person.Picture.delete()后,只会删除存储目录里的图片文件,但不会自动更新数据库中该字段的记录。要清除数据库里的这条路径,需要手动更新字段并保存实例:
- 将
person.Picture设为None - 调用
person.save()把更改同步到数据库
具体代码示例:
person.Picture = None person.save()
也可以用更简洁的写法:
person.Picture.save('', None)
这样操作后,数据库中的Picture字段就会被清空为NULL(因为你定义字段时设置了null=True)。
内容的提问来源于stack exchange,提问作者searcher__dm01
相关产品推荐
相关产品推荐

