在 django 中加载具有 ImageField 模型的数据

Load data that has models with ImageField in django

知道如何在 Django 中加载具有 ImageField 模型的数据吗? 我不能为此使用固定装置,因为无法将图像序列化到固定装置文件中。

我正在尝试使用 factory-boy,它非常适合测试,但我看不到如何 运行 它作为一个独立的脚本,因为没有针对它的 django 管理命令。

python manage.py shell < myscript.py 是处理此问题的好方法还是有更好的方法?

请注意,我正在使用一个存储桶来存储带有盐渍文件名的文件,并且我有一些信号可以执行诸如索引到 Elasticsearch 之类的操作,我需要保留这些信号。固定装置不会这样做。

嗯,问题实际上是关于为你的脚本设置 django env,我误解了这个问题。

  1. 您可以使用 shell < script.py,可行的一次性
  2. 制作您的自定义管理命令。好的,如果这是常规的,主要好处是 "maintainability" — 其他人的意图会更清楚,另外 manage.py 与 IDE 的集成可能很好
  3. 您的脚本可能会自行设置 django env — 与 manage.py shell 一样,没有太多黑魔法,例如

    import os, django
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myapp.settings")
    django.setup()