2016-04-22 81 views
2

我有一个现有的应用程序写在Django和我走的是模型的优势,迁移ORM等重命名默认ID列

每个模型都有一列id我想知道是否有可能重命名这列到其他东西person_id

我看到一些例子创建新的主键列,但这不是我想要的。我想重命名现有id列名

+0

不,我说的不是我说的是汽车自己创建的字段生成的ID。我使用的是最新的django(1.9),当你通过manage.py创建一个模型时,它甚至不会像你提到' _id'那样创建一个列名,它只创建'id' - 没有模型名称的前缀。 – jonprasetyo

+0

如果我正确理解你 - 你说当你创建一个像这样的简单模型:class Person(model.Model):name = models.CharField(max_length100)'你在人表中会有2列看起来像这样 - >'person_id'和'name' – jonprasetyo

+0

在我的表中Person人的列名是这些 - >'id'和'name' – jonprasetyo

回答

5

你说的不是你想要的,但答案使自己的主键,

docs

如果您想要指定自定义主键,只需在其中一个字段中指定primary_key = True。 如果Django发现你已经明确设置了Field.primary_key,它不会添加自动ID列

因为它不添加自动ID列,你已经有效地重新命名

+1

哈哈,我以为是 - 谢谢 – jonprasetyo