我从csv文件创建了如下所示Item
模型的一些实例。在csv文件中,只指定了项目的name
和filename
。该image
场由如果图像存在寻找设置,如果确实如此,将图像文件设置为image
:以编程方式保存ImageField复制图像文件
我做的:
item = Item()
item.name = csv_fields[0]
item.filename = csv_fields[1]
item.save()
...
f = open(settings.MEDIA_ROOT+"images/"+item.filename, 'r')
item.image = File(f)
item.save()
这样,图像在settings.MEDIA_ROOT+"images/"
复制为<original filename>_1
。如何避免这种情况?即如何才能将现有文件设置到图像字段而不复制它?
class Item(models.Model):
name = models.CharField(max_length=50)
filename = models.CharField(max_length=100,)
image = models.ImageField(upload_to='images', blank=True, null=True)