“未找到固定装置”在使用initial_data.yaml进行syncdb/schemamigration期间[Django 1.3]
我设置了一些应用程序,其中一个我刚刚添加了一个固定装置。我在 app 文件夹下的子目录“fixtures”中创建了一个“initial_data.yaml”文件,因此完整路径为 project_dir\apps\job\fixtures\initial_data.yaml
。
我都尝试过
python 管理.py 同步数据库
和
python Manage.py schemamigration 作业 --auto
两者都给了我:
未找到固定装置。
我在这里做错了什么?
I have a few apps set up, to one of which I just added a fixture. I created an "initial_data.yaml" file in a subdirectory "fixtures" under the app folder, so the full path is project_dir\apps\job\fixtures\initial_data.yaml
.
I've tried both
python manage.py syncdb
and
python manage.py schemamigration job --auto
and both of them give me:
No fixtures found.
What am I doing wrong, here?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
你安装 pyYAML 吗?
http://pyyaml.org/wiki/PyYAML
Manage.py 需要 yaml-parser 来加载initial_data.yaml 。
Do you install pyYAML ?
http://pyyaml.org/wiki/PyYAML
manage.py needs yaml-parser for load initial_data.yaml.
Django 文档明确指出:
但我发现这不是真的。如果你没有在settings.py中定义FIXTURE_DIRS,那么django将在manage.py和settings.py所在的同一目录中查找initial_data.yaml。
我在 django 1.3.1 中遇到了这个问题。
您还需要安装 python yaml 解析器,否则 django 将忽略 yaml 格式的装置。如果您使用的是 Ubuntu,您可以通过在控制台中发出以下命令来安装解析器:
Django documentation clearly states:
But I have found that it's not true. If You don't define FIXTURE_DIRS in settings.py, then django will look for initial_data.yaml in the same directory where manage.py and settings.py are.
I had this issue with django 1.3.1.
You also need to have a python yaml parser installed or django will ignore fixtures in yaml format. If You are using Ubuntu, You can install the parser by issuing the following command in the console:
我认为它需要进入
假设您的应用程序名为
job
i think it needs to go in
assuming your app is named
job
尝试以下操作,看看效果如何:
转储现有数据,清空数据库,然后再次尝试syncdb(如果您愿意清除数据库):
这有效吗?如果是这样,您就有了一个“蓝图”夹具文件。
如果没有,您能告诉我们您正在使用哪个版本的 Django 吗?
Try the following and see how you go:
Dump your existing data, empty your DB and then try syncdb again (if you are happy to clear your DB):
Does that work? If so, you have a 'blueprint' fixture file.
If not could you let us know which version of Django you are using?