📜  主键自动递增 python django - Python (1)

📅  最后修改于: 2023-12-03 15:36:01.893000             🧑  作者: Mango

主键自动递增 python django

在 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 来限制主键的最大长度。