在Django的ImageField中使用已上传的图像

时间:2015-01-24 21:45:52

标签: django django-models

ImageField中是否有选项来设置路径或已上传的图像?

我的用例如下:我想在两个不同的内容条目中重复使用相同的图像。我不想上传图像两次或存储同一图像的两个副本。

2 个答案:

答案 0 :(得分:2)

只需将图像字段从一个模型实例分配到另一个模型实例:

original_entry = Entry.objects.get(pk=1)

another_entry = Entry.objects.get(pk=2)
another_entry.image = original_entry.image
another_entry.save()

new_entry = Entry.objects.create(image=original_entry.image)

答案 1 :(得分:1)

只需将图像放入其自己的模型中:

class Image(models.Model):
    image = models.ImageField(...)

class ModelA(models.Model)
     image = models.ForeignKey(Image, null=True, blank=True)

class ModelB(models.Model)
     image = models.ForeignKey(Image, null=True, blank=True)