【发布时间】:2013-03-14 12:59:16
【问题描述】:
我有一个 django 项目,结构如下:
/djninja # project dir
/djninja # main app dir
/bands # app dir
/fans # app dir
/lyrics # app dir
我创建了一个initial_data.yaml 文件来制作syncdb 加载装置(我更喜欢YAML 格式)。根据documentation,我将它放在任何应用程序fixtures 子目录中。所以我做到了,我有:
/djninja
/djninja
/bands
/fixtures
- initial_data.yaml
/fans
/lyrics
但 syncdb 忽略了该文件。然后我把它移到主项目目录:
/djninja
/djninja
/fixtures
- initial_data.yaml
/bands
/fans
/lyrics
它仍然被省略。我想在syncdb 命令中加载固定装置我做错了什么?
【问题讨论】:
-
您是否安装了 yaml 以便 python 将其识别为固定装置?
-
我使用 json 语法 (initial_data.json) 并且可以正常工作...也许 .yaml 不是正确的扩展名?你试过其他格式吗?
-
@catherine:我错过了 python-yaml 包。我已经安装了它,但是python仍然没有加载fixtures。
-
@catherine pyyaml 在 Debian 中被称为 python-yaml。所以很可能就是这样。
-
试试这个进行测试:
python manage.py loaddata fixtures/initial_data.yaml
标签: python django django-fixtures