Django 和 PostgreSQL “未找到填充数据”
我一直在尝试把PostgreSQL和我的Django应用一起使用,但在启动项目时就遇到了一个错误。那个时候我只有以下这些文件:__init__.py
、manage.py
、settings.pyc
、urls.pyc
、__init__.pyc
、settings.py
、urls.py
,而且在我添加了模型之后也出现了这个错误。
python manage.py syncdb
Creating tables ...
Installing custom SQL ...
Installing indexes ...
No fixtures found.
我甚至没有尝试加载任何数据。Psycopg2已经安装好了。这是我settings.py文件中的数据库部分。
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql_psycopg2',
# Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
'NAME': 'myapp_development',
# Or path to database file if using sqlite3.
'USER': 'foo', # Not used with sqlite3.
'PASSWORD': 'password', # Not used with sqlite3.
'HOST': '',
# Set to empty string for localhost. Not used with sqlite3.
'PORT': '',
# Set to empty string for default. Not used with sqlite3.
}
}
3 个回答
1
当你运行
manage.py syncdb
时,Django 会尝试为你项目中的应用加载初始数据。默认情况下,这些数据是从 app-dir\fixtures\initial_data.[xml/yaml/json] 文件中加载的。所以当这个文件不存在时,你会看到:
没有找到数据文件
想了解更多,可以查看 Django 的 官方页面:
2
你有没有在你的 settings.py
文件里设置 FIXTURE_DIRS
这个选项的值呢?
想了解更多,可以查看 这里 的文档。
4
这意味着Django没有找到任何数据文件。如果没有数据文件,通常会显示这个标准信息。
数据文件是一个特定格式的文件,用来根据已有的模型在数据库中创建真实的对象:
[
{
"model": "myapp.person",
"pk": 1,
"fields": {
"first_name": "John",
"last_name": "Lennon"
}
},
{
"model": "myapp.person",
"pk": 2,
"fields": {
"first_name": "Paul",
"last_name": "McCartney"
}
}
]
想了解更多细节,可以查看这里: http://docs.djangoproject.com/en/dev/howto/initial-data/