2

很久以前,我设计了一些 Django 模型,其字段如下:

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

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

因此,我的目标是:

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

2 回答 2

2

After I asked this I was forced by the code to do some experimentation.

Looks like what you can do is simply:

  1. Remove the field from the model
  2. Generate the schema migration.
  3. Edit the migration to rename the field to id (db.rename_column('Document', 'documentUUID', 'id'))
  4. Migrate it and update all your code with a mondo find and replace.
于 2013-10-28T23:44:44.327 回答
0

你看过南方吗?它正是为这个问题而创建的工具。

于 2013-11-03T03:27:46.750 回答