在Django模型中,我总是得到一个主列作为Id。有没有可能改变。例如,对于City表,我希望有一个主键列作为city_id。
city_id
j2cgzkjk1#
city_id = models.AutoField(primary_key=True)
to94eoyn2#
答案是肯定的,就像这样:
city_id = models.PositiveIntegerField(primary_key=True)
在这里,您将覆盖id。如果你想指定一个自定义主键,只需在其中一个字段上指定primary_key=True。如果Django看到你显式设置了Field.primary_key,它不会自动添加id列。或者,您可以始终定义模型属性并使用它。示例
id
class City(models.Model) #attributes @property def city_id(self): return self.id
并将其作为city.city_id访问,而通常是city.id
city.city_id
city.id
33qvvth13#
默认情况下,Django为每个模型提供以下字段:
id = models.AutoField(primary_key=True)
这是一个自动递增的主键。所以你的情况是:
yqyhoc1h4#
你当然可以。
city_id = models.BigIntegerField(primary_key=True)
4条答案
按热度按时间j2cgzkjk1#
to94eoyn2#
答案是肯定的,
就像这样:
在这里,您将覆盖
id
。如果你想指定一个自定义主键,只需在其中一个字段上指定primary_key=True。如果Django看到你显式设置了Field.primary_key,它不会自动添加id列。
或者,您可以始终定义模型属性并使用它。示例
并将其作为
city.city_id
访问,而通常是city.id
33qvvth13#
默认情况下,Django为每个模型提供以下字段:
这是一个自动递增的主键。
所以你的情况是:
yqyhoc1h4#
你当然可以。