【发布时间】:2014-04-11 15:41:12
【问题描述】:
我使用 Django 数据库已经有一段时间了,没有出现任何重大问题。今天我第一次需要为几个表设置默认值。我在顶级 Django 目录中创建了一个 fixtures 目录。然后我为默认值创建了文件。但是,我不断收到错误消息,我不知道为什么。
首先我尝试使用 .sql 文件。值得注意的是,这些表格非常简单;它们只有一个值,“名称”。我的 SQL 文件如下所示:
INSERT INTO MyTable (name) VALUES ('Default');
我将其保存为MyTable.sql。当我运行命令python manage.py loaddata fixtures/MyTable.sql 时,我收到以下错误消息:
CommandError: Problem installing fixture 'MyTable': sql is not a known serialization format.
(注意:对于上面的示例和下一个示例,我也尝试不使用 fixtures/ 部分,并得到相同的结果。
我询问了我的项目负责人,他说他认为 SQL 文件不能用于此目的。所以,我尝试了 JSON 文件。我的MyTable.json 看起来像这样:
[
{
"model": "mydatabase.MyTable",
"pk": 1,
"fields": {
"name": "Default"
}
}
]
我会非常坦率地承认我以前从未在这种情况下使用过 JSON,只在 Web 开发中使用过,所以我不知道这个问题是否可能是我在这里做错了。我试图以我找到的格式为基础here。当我再次通过 loaddata 函数运行它时,我收到了以下错误消息:
C:\Python27\lib\site-packages\django-1.6.1-py2.7.egg\django\core\management\commands\loaddata.py:216: UserWarning: No fixture named 'fixtures/MyTable' found.
这是我第一次这样做,我很难找到文档来弄清楚我做错了什么。有人可以提供建议吗?谢谢!
【问题讨论】: