如何在django中设置主键的初始值

问题描述 投票:0回答:2

我做了这个 django 模型:

class Car(models.Model):
    car_id = models.AutoField(primary_key=True)
    engine_size = models.FloatField()
    fuel_consumption = models.FloatField()

    def __str__(self):
        return(str(self.car_id))

django中的自动字段生成器总是从1开始。 如何让它从初始值 = 100 生成 id。 例如,100,101,102...

是否有任何内置工具,或者我只需要为此创建一个自定义函数?

python django primary-key autofield
2个回答
5
投票

您可以通过创建空迁移来实现此目的。

python manage.py makemigrations YOUR_APP_NAME --empty

空迁移将创建应用内标签并进行如下更改

from django.db import migrations

class Migration(migrations.Migration):

    dependencies = [

    ]

    operations = [
        migrations.RunSQL('ALTER SEQUENCE APPNAME_CAR_id_seq RESTART WITH 100;')
    ]

0
投票

这是数据库问题。我可以使用 pgAdmin 为列设置初始值。 https://www.pgadmin.org/download/ 在 pgAdmin 上,连接到数据库并按照以下方式操作:Schemas>Tables>'FielsOfInterest'>Columns>'ColumnOfInterest'>Properties

© www.soinside.com 2019 - 2024. All rights reserved.