2

我设置了一些应用程序,其中一个我刚刚添加了一个固定装置。我在 app 文件夹下的子目录“fixtures”中创建了一个“initial_data.yaml”文件,所以完整路径是project_dir\apps\job\fixtures\initial_data.yaml.

我都试过了

python manage.py syncdb

python manage.py schemamigration job --auto

他们都给了我:

没有找到固定装置。

我在这里做错了什么?

4

4 回答 4

2

你安装 pyYAML 吗?

http://pyyaml.org/wiki/PyYAML

manage.py 需要 yaml-parser 来加载 initial_data.yaml。

于 2011-05-24T10:09:08.213 回答
1

Django 文档明确指出:

默认情况下,Django 在每个应用程序的fixtures 目录中查找fixtures。

但我发现这不是真的。如果您没有在 settings.py 中定义 FIXTURE_DIRS,那么 django 将在 manage.py 和 settings.py 所在的同一目录中查找 initial_data.yaml。我在 django 1.3.1 上遇到了这个问题。

您还需要安装 python yaml 解析器,否则 django 将忽略 yaml 格式的固定装置。如果您使用的是 Ubuntu,您可以通过在控制台中发出以下命令来安装解析器:

sudo apt-get install python-yaml
于 2012-05-21T16:51:31.420 回答
0

我认为它需要进入

/project/job/fixtures/

假设您的应用程序被命名job

于 2011-05-05T00:41:47.493 回答
0

试试下面的,看看你会怎么做:

转储现有数据,清空数据库,然后再次尝试 syncdb(如果您愿意清除数据库):

python manage.py dumpdata
python manage.py syncdb

那样有用吗?如果是这样,您有一个“蓝图”夹具文件。

如果不能,您能否告诉我们您使用的是哪个版本的 Django?

于 2011-05-05T01:43:10.710 回答