如何将django中的自定义ID字段重命名为默认值

时间:2013-06-13 17:44:26

标签: python django primary-key django-south

很久以前,我设计了一些带有以下字段的Django模型:

documentUUID = models.AutoField("a unique ID for each document",
                                    primary_key=True)

我认为这很好 - 我对事情很明确 - 但我已经意识到我很想清除这些引用的代码,并转向更标准的实现。

我的目标是:

  1. 重命名数据库中的字段,使其好像我从未拥有自定义primary_key字段。
  2. 从我的模型中删除这些字段定义,以便默认接管。
  3. 从我的代码中重构这些值。

2 个答案:

答案 0 :(得分:2)

在我问这个之后,我被代码强迫进行一些实验。

看起来你可以做的只是:

  1. 从模型中删除字段
  2. 生成架构迁移。
  3. 修改迁移以将字段重命名为id(db.rename_column('Document', 'documentUUID', 'id')
  4. 迁移它并使用mondo find和replace更新所有代码。

答案 1 :(得分:0)

你看过south了吗?它是为这个问题创建的工具。