未正确读取FIXTURE_DIRS,安装了0个对象来自0个fixture
这是我的设置
FIXTURE_DIRS = (
os.path.join(BASE_DIR, "fixtures",)
)
$ python manage.py diffsettings | grep fixtures
FIXTURE_DIRS = '/home/user/project/src/fixtures'
奇怪的是,当我运行syncdb的时候,出现了以下情况。它会递归地加载在FIXTURE_DIRS
中设置的每一个字符的路径。可是它找不到任何目录,因为这些目录根本就不存在。
$ python manage.py syncdb -v3
project.settings
project/src
Running pre-sync handlers for application admin
Running pre-sync handlers for application auth
Running pre-sync handlers for application contenttypes
Running pre-sync handlers for application sessions
Running pre-sync handlers for application messages
Running pre-sync handlers for application staticfiles
Running pre-sync handlers for application admindocs
Running pre-sync handlers for application webdesign
Running pre-sync handlers for application helloworld
Creating tables ...
Running post-sync handlers for application admin
Running post-sync handlers for application auth
Running post-sync handlers for application contenttypes
Running post-sync handlers for application sessions
Running post-sync handlers for application messages
Running post-sync handlers for application staticfiles
Running post-sync handlers for application admindocs
Running post-sync handlers for application webdesign
Running post-sync handlers for application helloworld
Installing custom SQL ...
Installing indexes ...
Checking '/' for fixtures...
No fixture 'initial_data' in '/'.
Checking 'project/src/h' for fixtures...
No fixture 'initial_data' in 'project/src/h'.
Checking 'project/src/o' for fixtures...
No fixture 'initial_data' in 'project/src/o'.
Checking 'project/src/m' for fixtures...
No fixture 'initial_data' in 'project/src/m'.
Checking 'project/src/e' for fixtures...
No fixture 'initial_data' in 'project/src/e'.
Checking '/' for fixtures...
No fixture 'initial_data' in '/'.
Checking 'project/src/u' for fixtures...
No fixture 'initial_data' in 'project/src/u'.
Checking 'project/src/s' for fixtures...
No fixture 'initial_data' in 'project/src/s'.
Checking 'project/src/e' for fixtures...
No fixture 'initial_data' in 'project/src/e'.
Checking 'project/src/r' for fixtures...
No fixture 'initial_data' in 'project/src/r'.
Checking '/' for fixtures...
No fixture 'initial_data' in '/'.
Checking 'project/src/p' for fixtures...
No fixture 'initial_data' in 'project/src/p'.
Checking 'project/src/r' for fixtures...
No fixture 'initial_data' in 'project/src/r'.
Checking 'project/src/o' for fixtures...
No fixture 'initial_data' in 'project/src/o'.
Checking 'project/src/j' for fixtures...
No fixture 'initial_data' in 'project/src/j'.
Checking 'project/src/e' for fixtures...
No fixture 'initial_data' in 'project/src/e'.
Checking 'project/src/c' for fixtures...
No fixture 'initial_data' in 'project/src/c'.
Checking 'project/src/t' for fixtures...
No fixture 'initial_data' in 'project/src/t'.
Checking '/' for fixtures...
No fixture 'initial_data' in '/'.
Checking 'project/src/s' for fixtures...
No fixture 'initial_data' in 'project/src/s'.
Checking 'project/src/r' for fixtures...
No fixture 'initial_data' in 'project/src/r'.
Checking 'project/src/c' for fixtures...
No fixture 'initial_data' in 'project/src/c'.
Checking '/' for fixtures...
No fixture 'initial_data' in '/'.
Checking 'project/src/f' for fixtures...
No fixture 'initial_data' in 'project/src/f'.
Checking 'project/src/i' for fixtures...
No fixture 'initial_data' in 'project/src/i'.
Checking 'project/src/x' for fixtures...
No fixture 'initial_data' in 'project/src/x'.
Checking 'project/src/t' for fixtures...
No fixture 'initial_data' in 'project/src/t'.
Checking 'project/src/u' for fixtures...
No fixture 'initial_data' in 'project/src/u'.
Checking 'project/src/r' for fixtures...
No fixture 'initial_data' in 'project/src/r'.
Checking 'project/src/e' for fixtures...
No fixture 'initial_data' in 'project/src/e'.
Checking 'project/src/s' for fixtures...
No fixture 'initial_data' in 'project/src/s'.
Checking 'project/src' for fixtures...
No fixture 'initial_data' in 'project/src'.
Installed 0 object(s) from 0 fixture(s)
1 个回答
3
这个问题解决了,但我仔细检查了一下我的设置。
FIXTURE_DIRS = (
os.path.join(BASE_DIR, "fixtures",)
)
应该是这样的:
FIXTURE_DIRS = (
os.path.join(BASE_DIR, "fixtures",),
)
如果你看不出有什么不同,我在花了几个小时试图弄明白的时候也看不出来。唯一的区别就是一个 ,
。看看 os.path.join(BASE_DIR, "fixtures",)
的末尾,现在多了一个 ,
。
我预计将来会有其他人遇到这个问题。 所以我提供了这个答案。