将旧(Django 0.97)模型数据导入/迁移到Django 1.8或更高版本

时间:2018-03-27 18:04:18

标签: python django django-migrations django-database

将数据从非常古老的Django应用程序(0.97)迁移或导入到相对现代的#34;以及最佳方法是什么? Django发布(1.8)?

应用程序(如果你可以称之为)只不过是一系列模型和一些简单的视图。用户主要通过管理界面访问它(我知道,我知道)。因此,就转换代码而言,它很少。我已经将models.py更新为1.8友好,我可以毫不费力地轻松启动应用程序的空实例。

但是,一旦我尝试获取系统中的旧数据,我就会遇到问题。我以为我尝试使用dumpdata / loaddata,但没想到它会起作用(而且它没有)。我在这些方面遇到了一些错误:

django.db.utils.IntegrityError: Problem installing fixture 
'olddata.json': Could not load contenttypes.ContentType(pk=6):
 duplicate key value violates unique constraint
"django_content_type_app_label_5fd9156b761d2158_uniq"
DETAIL:  Key (app_label, model)=(contenttypes, contenttype)
already exists.

在深入了解导出文件的深度之前,我想确定我是在正确的轨道上。有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

感谢你们两位。似乎从0.97的json导出是问题。我做了一个完整的XML导出和导入,并且只遇到一个错误,其中一个记录包含一些类似XML的内容,导致XML解析器出现问题 - 很容易修复。

看起来好像0.97版本的dumpdata输出json没有得到Django 1.8的完全支持。