我设置了一些应用程序,其中一个我只是添加了一个夹具。我在app文件夹下的“fixtures”子目录中创建了一个“initial_data.yaml”文件,因此完整路径为project_dir\apps\job\fixtures\initial_data.yaml
。
我试过了两次
python manage.py syncdb
和
python manage.py schemamigration job --auto
他们两个都给了我:
找不到固定装置。
我做错了什么,这里?
答案 0 :(得分:2)
答案 1 :(得分:1)
Django文档明确指出:
默认情况下,Django会在每个app内的fixtures目录中查找fixture。
但我发现它不正确。如果您没有在settings.py中定义FIXTURE_DIRS,那么django将在manage.py和settings.py所在的同一目录中查找initial_data.yaml。 我在django 1.3.1中遇到过这个问题。
您还需要安装python yaml解析器,否则django将忽略yaml格式的fixture。如果您使用的是Ubuntu,则可以通过在控制台中发出以下命令来安装解析器:
sudo apt-get install python-yaml
答案 2 :(得分:0)
我认为需要进入
/project/job/fixtures/
假设您的应用名为job
答案 3 :(得分:0)
尝试以下操作,看看你如何:
转储现有数据,清空数据库,然后再次尝试syncdb(如果您愿意清除数据库):
python manage.py dumpdata
python manage.py syncdb
这有用吗?如果是这样,你有一个'蓝图'夹具文件。
如果没有,你能告诉我们你正在使用哪个版本的Django吗?