安装fixture(SQLite3数据库)时,cygwin上的Django loaddata命令会返回错误

时间:2013-05-17 16:56:01

标签: django sqlite cygwin loaddata dumpdata

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

2 个答案:

答案 0 :(得分:1)

经过cygwin安装程序的大量测试后,我找到了解决问题的方法:

我卸载了libsqlite3和sqlite3 3.7.16并安装了 sqlite3和libsqlite3 3.7.13 版本。现在它有效!

答案 1 :(得分:1)

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

换句话说:降级不是唯一的解决方案,升级工作也是如此!这是版本3.7.16,特别是问题。