如何让django通过fixtures上传图片文件

How to get django to upload an image file via fixtures

我的 models.py 中有一个 class:

class Car(models.Model):
    id = models.UUIDField(primary_key=True, default=uuid.uuid4)
    create_date = models.DateTimeField('date added', auto_now_add=True)
    modify_date = models.DateTimeField('date modified', default=timezone.now)
    name = models.CharField(max_length=200)
    image_file = models.ImageField(
        upload_to=upload_to_company, null=True, blank=True)

和一个 JSON 用于这样的固定装置:

   [
      {
        "model": "polls.car",
        "fields": {
            "id":"09734145-7a15-4c84-8b7c-eaab4112cbaa",
            "name": "VW",
            "create_date": "2015-01-01T00:00:00+00:00"
        }
      }
    ]

我将其加载为固定装置。现在我想让它也加载图像,但是当我插入 "image_file":"VW.jpg" 时(VW.jpg 与 JSON 位于同一文件夹中)。 VW.jpg 显示在管理员面板中,但未上传实际图片。

有人知道去哪里找吗?

不知道为什么我没有早点得出这个结论,但如果你只是将 fixtures 文件中指定名称的文件放在你想要的目录中,它就会起作用。例如:

 [
      {
        "model": "polls.car",
        "fields": {
            "id":"09734145-7a15-4c84-8b7c-eaab4112cbaa",
            "name": "VW",
            "create_date": "2015-01-01T00:00:00+00:00",
            "image_file":"VW.jpg"
        }
      }
    ]

然后把VW.jpg放在你的media目录所在的地方,例如:

media/VW.jpg

它不会以这种方式上传,但它在数据库中并且可以通过管理面板访问