我有一个模型, Picture
有ImageField
。 当删除的实例Picture
,在设置文件ImageField
不会被删除。
它是一个错误吗? 我该怎么做?
我有一个模型, Picture
有ImageField
。 当删除的实例Picture
,在设置文件ImageField
不会被删除。
它是一个错误吗? 我该怎么做?
与相关的文件的删除FileField
S和ImageField
S IN的Django 1.3 故意删除。 见票#6456 。 Django使用交易上,以防止数据损坏,如果出现错误的请求。 如果删除事务回滚支持,之后该文件已被从文件系统中删除,那么你现在有一个记录指向一个不存在的文件。 所有车票,要求自动删除返回已被草率注明“不会修复”,所以这是不会改变的。
对于解决办法,看到这个以前的StackOverflow问题 。
假设?
class Picture(models.Model):
image = ImageField(blank=True, null=True, upload_to="pics")
def delete(self, *args, **kwargs):
self.image.delete()
super(Picture, self).delete(*args, **kwargs)
然后让手工创建和删除这个..
image = "./image.jpg"
picture = Picture.objects.create(image=File(open(image, "r"))
picture.save()
然后将其删除?
picture.delete()
HTH