📅  最后修改于: 2023-12-03 15:36:01.893000             🧑  作者: Mango
在 Django 里,当我们创建一个模型(Model)时,我们需要选择该模型的主键(Primary Key),这可以通过设置模型的 Meta 类中的 pk
属性来完成。如果没有设置,则 Django 会自动创建一个名为 id
的自增字段作为主键。
我们可以在模型的 Meta 类中设置主键字段,如下所示:
class MyModel(models.Model):
my_id = models.IntegerField(primary_key=True)
在上例中,我们使用 IntegerField
来设置 my_id
为整数类型主键。在字段上设置 primary_key=True
属性,将该字段指定为该模型的主键。
为了让主键自动递增,我们可以在主键字段上设置 AutoField
类型。这个字段类型提供了自增行为,它确保每次新行被添加到数据库时都会自动为 id
字段分配下一个数字。
class MyModel(models.Model):
id = models.AutoField(primary_key=True)
在上例中,我们使用 AutoField
类型设置 id
为自动递增主键。
自动递增主键还有一些其他属性,比如可以设置 max_length
属性来限制主键的最大长度,如下所示:
class MyModel(models.Model):
id = models.AutoField(primary_key=True, max_length=10)
在 Django 中设置自动递增主键非常简单,只需要在主键字段上使用 AutoField
类型,即可实现自动递增行为。当然,你也可以设置其他一些属性来满足你的需求,比如 max_length
来限制主键的最大长度。