在 Django 的 ImageField 中使用已经上传的图片

Use already uploaded image in Django's ImageField

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

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

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

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)

只需将图像放入它自己的模型中即可:

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)