Django dumpdata生成无效的json格式文件

时间:2018-03-03 05:11:46

标签: json django database python-3.x

我正在使用Django1.11。我想从sqlite转移到PostgreSQL。所以我需要从Sqlite转储数据并加载到PostgreSQL。 我使用

生成转储数据
python3 manage.py dumpdata > db.json

我已将数据库设置更改为PostgreSQL并执行了

python3 manage.py loaddata db.json

并收到此错误。

raise JSONDecodeError("Expecting value", s, err.value) from None

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

所以我使用hexdump并尝试了。

raise JSONDecodeError("Expecting value", s, err.value) from None

django.core.serializers.base.DeserializationError: Problem installing fixture '/var/lib/myproject/fixtures/db.json': Expecting value: line 1 column 1 (char 0)

我看了db.json,这是无效的json。

1 个答案:

答案 0 :(得分:0)

我正在使用linux。问题是在db.json的头部,附加并突出显示“尝试使用Windows路径”这句话。 当我使用vi command打开文件时,我认为它不是文件的一部分。但它是文件的一部分。我只是手动删除了这句话。有效。但最后我没有使用python loaddata进行数据库迁移。如果使用pyhton函数,可能会有很多错误。所以我退出了Django内置函数并使用了pgloader。这很简单,没有错误。