syv*_*syv 13 django django-models
我总是在Django模型中获得一个主列作为Id.有没有可能改变.对于前者 对于City表我想要一个主键列city_id.
kar*_*ikr 11
答案是肯定的,
像这样的东西:
city_id = models.PositiveIntegerField(primary_key=True)
Run Code Online (Sandbox Code Playgroud)
在这里,你压倒了id.文档在这里
如果您要指定自定义主键,只需在其中一个字段上指定primary_key = True即可.如果Django看到你明确设置了Field.primary_key,它将不会添加自动id列.
或者,您始终可以定义模型属性并使用它.例
class City(models.Model)
#attributes
@property
def city_id(self):
return self.id
Run Code Online (Sandbox Code Playgroud)
并按照city.city_id通常的方式访问它city.id
小智 7
默认情况下,Django 为每个模型提供以下字段:
id = models.AutoField(primary_key=True)
Run Code Online (Sandbox Code Playgroud)
这是一个自动递增的主键。
所以对于你的情况是:
city_id = models.AutoField(primary_key=True)
Run Code Online (Sandbox Code Playgroud)