在 Django 模型中,我总是得到一个主列作为 Id。有没有改变的可能。例如。对于 City 表,我希望有一个主键列作为city_id
.
问问题
50410 次
4 回答
48
city_id = models.AutoField(primary_key=True)
于 2013-08-05T18:30:30.760 回答
19
答案是肯定的,
像这样的东西:
city_id = models.PositiveIntegerField(primary_key=True)
在这里,您将覆盖id
. 文档在这里
如果您想指定自定义主键,只需在其中一个字段上指定 primary_key=True。如果 Django 看到你明确设置了 Field.primary_key,它不会添加自动 id 列。
或者,您始终可以定义模型属性并使用它。例子
class City(models.Model)
#attributes
@property
def city_id(self):
return self.id
并像city.city_id
往常一样访问它city.id
于 2013-08-05T18:21:54.700 回答
5
当然可以。
city_id = models.BigIntegerField(primary_key=True)
于 2013-08-05T18:21:00.933 回答
3
默认情况下,Django 为每个模型提供以下字段:
id = models.AutoField(primary_key=True)
这是一个自动递增的主键。
所以对于你的情况是:
city_id = models.AutoField(primary_key=True)
于 2020-04-23T20:28:03.063 回答