我有一个 Django 1.7 应用程序,针对 sqlite3 开发,并迁移到 Postgresql。一个名为 Place 的模型表与其自身具有父关系。我使用 dumpdata 创建一个 .json 提取。
当我尝试使用 loaddata 将提取数据读入 Postgres 数据库时,Django(不是 postgres)给了我:
django.core.serializers.base.DeserializationError: Problem installing fixture '/home/ugliest/project/thub/dbdump25jan_nat.json': Place matching query does not exist;
这告诉我 django 在将数据加载到数据库之前正在验证数据。有没有办法在验证之前允许这些数据?我知道 Postgres 具有延迟约束检查的能力,但即使我可以从 django 触发它,它也不会阻止 django 验证。怎么把数据弄进去?
我觉得我错过了一些明显的东西。这似乎经常发生,并且有一个已知的简单修复。我真的必须编写一些自定义的混乱来重新排序提取文件吗?
编辑:FWIW,从未找到答案,并写了一个自定义的混乱来重新排序。