2

我已将 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"
    }
}]
4

2 回答 2

1

在使用 cygwin 安装程序进行大量测试后,我找到了解决问题的方法:

我卸载了 libsqlite3 和 sqlite3 3.7.16 并安装了sqlite3 和 libsqlite3 3.7.13版本。现在它起作用了!

于 2013-05-18T11:08:22.537 回答
1

我遇到了同样的问题,并通过从版本 3.7.16 升级到版本 3.8.2 来修复它。

换句话说:降级不是唯一的解决方案,升级也可以!特别是 3.7.16 版本似乎是问题所在。

于 2014-02-19T15:19:22.133 回答