安装夹具(SQLite3 数据库)时,cygwin 上的 Django loaddata 命令返回错误
Posted
技术标签:
【中文标题】安装夹具(SQLite3 数据库)时,cygwin 上的 Django loaddata 命令返回错误【英文标题】:Django loaddata command on cygwin returns an error when installing fixtures (SQLite3 database) 【发布时间】:2013-05-12 22:25:32 【问题描述】:我已将 cygwin 上的 cygwin 和 python 更新到 2.7,现在我无法使用 Django 中的 loaddata 管理命令将任何 json 文件加载到数据库中。 (使用 SQLite3 作为数据库后端)
它适用于只有一个数据实例的夹具。如果有两个或更多,它会像这样在第二个失败:
DatabaseError: Problem installing fixture 'myapp/fixtures/initial_data.json': Could not load myapp.MyModel(pk=2): unable
to open database file
还有其他人有这个问题吗?
一些额外的信息: 我已经在第二台计算机上全新安装 cygwin 上尝试过这个,并且我已经在我的几个 django 项目上尝试过。到处都是同样的错误。
我很确定任何人都可以通过在最新版本的 cygwin 上尝试 loaddata 命令来重现此错误。
编辑:
它适用于这个 json 文件:
[
"pk": 1,
"model": "myapp.mymodel",
"fields":
"title": "Some title"
]
但是这个失败了:
[
"pk": 1,
"model": "myapp.mymodel",
"fields":
"title": "Some title"
,
"pk": 2,
"model": "myapp.mymodel",
"fields":
"title": "Some other title"
]
【问题讨论】:
你能检查文件的权限吗?它应该是可写的。 它是可写的,因为它在只有一个数据实例的情况下工作。 【参考方案1】:在使用 cygwin 安装程序进行大量测试后,我找到了问题的解决方案:
我卸载了 libsqlite3 和 sqlite3 3.7.16 并安装了 sqlite3 和 libsqlite3 3.7.13 版本。现在可以了!
【讨论】:
这很有帮助,谢谢!你应该接受你的答案是正确的。【参考方案2】:我遇到了同样的问题,并通过从 3.7.16 版升级到 3.8.2 版解决了这个问题。
换句话说:降级不是唯一的解决方案,升级也可以!问题似乎是 3.7.16 版本。
【讨论】:
以上是关于安装夹具(SQLite3 数据库)时,cygwin 上的 Django loaddata 命令返回错误的主要内容,如果未能解决你的问题,请参考以下文章
安装夹具时 Django 1.10 引发错误:没有这样的列:REFERRED.id