首页 > 解决方案 > Django:导入遗留数据库数据,保持具有自动键的主键

问题描述

我正在使用Django开发新软件来替换旧软件,并且我所有的新模型都有自动增量主键。我想从遗留数据库中导入记录,保留它们的原始主键(用户都知道它们),但我不知道如何使用自动增量主键来做到这一点。

是否可以使用整数主键创建我的模型并将它们更改为自动增量而不丢失数据?

标签: djangodjango-models

解决方案


可以有一个没有功能的IntegerField主键。auto-increment你可以这样做

id = models.PositiveIntegerField(primary=True)

导入所有数据后,您可以AutoIncrement通过替换PositiveIntegerField来将其转换为AutoField.

解决方案-2

id您可以在数据导入期间指定您的行,同时具有默认值AutoField,它将正确加载数据。所以这里不用担心。


推荐阅读