模型Django中的Id字段

时间:2013-08-05 18:19:04

标签: django django-models

我总是在Django模型中获得一个主列作为Id。有没有可能改变。对于前者对于City表,我希望将主键列设为city_id

4 个答案:

答案 0 :(得分:18)

city_id = models.AutoField(primary_key=True)

答案 1 :(得分:11)

答案是肯定的,

这样的事情:

city_id = models.PositiveIntegerField(primary_key=True)

在这里,您将覆盖idDocumentation here

  

如果您想指定自定义主键,只需在其中一个字段中指定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

答案 2 :(得分:2)

当然,你可以。

city_id = models.BigIntegerField(primary_key=True)

答案 3 :(得分:0)

默认情况下,Django为每个模型提供以下字段:

id = models.AutoField(primary_key=True)

这是一个自动递增的主键。

因此,您的情况是:

city_id = models.AutoField(primary_key=True)