“未找到固定装置”在使用initial_data.yaml进行syncdb/schemamigration期间[Django 1.3]

发布于 2024-11-05 10:28:47 字数 399 浏览 3 评论 0原文

我设置了一些应用程序,其中一个我刚刚添加了一个固定装置。我在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

述情 2024-11-12 10:28:48

你安装 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.

澜川若宁 2024-11-12 10:28:48

Django 文档明确指出:

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

但我发现这不是真的。如果你没有在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

Django documentation clearly states:

By default, Django looks in the fixtures directory inside each app for fixtures.

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:

sudo apt-get install python-yaml
千寻… 2024-11-12 10:28:48

我认为它需要进入

/project/job/fixtures/

假设您的应用程序名为job

i think it needs to go in

/project/job/fixtures/

assuming your app is named job

滥情空心 2024-11-12 10:28:48

尝试以下操作,看看效果如何:

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

python manage.py dumpdata
python manage.py 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):

python manage.py dumpdata
python manage.py syncdb

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?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文