我有一个django项目,结构如下:

/djninja # project dir
  /djninja # main app dir
  /bands # app dir
  /fans # app dir
  /lyrics # app dir

我创建了一个initial_data.yaml文件来创建syncdb加载fixture(我更喜欢YAML格式)。根据documentation,我将把它放在任何appfixtures子目录中。所以我做到了,我有:
/djninja
  /djninja
  /bands
    /fixtures
      - initial_data.yaml
  /fans
  /lyrics

但是syncdb忽略了这个文件。然后我把它移到主项目目录中:
/djninja
  /djninja
    /fixtures
      - initial_data.yaml
  /bands
  /fans
  /lyrics

但还是被忽略了。我想在syncdb命令中加载设备我做错了什么?

最佳答案

显然,Django会在INSTALLED_APPS中指定的应用程序中查找其中包含models.py的fixture。
因此,如果你的应用程序缺少一个,创建一个空的models.py并且Django不会跳过在该应用程序中查找设备。

关于python - django在syncdb时不加载初始装置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15409978/

10-11 17:50