首页 > 解决方案 > 我的模型主键如何以特定数字开头?

问题描述

我有一个 User 模型,我希望它的 id 从 开始10000,然后它的 id 应该自动递增,如:

10001, 10002, 10003, 10004...

我的用户类:

class User(AbstractUser):
    username = models.CharField(max_length=64)
    ...

有没有可能让它成真?

编辑-1

在问这个问题之前,我已经阅读了这个链接:有没有办法将新 Django 对象的 id 值设置为从某个值开始?

但我不认为答案很好,所以我的意思是如果在 Django 中有一个配置可以实现这一点?

标签: pythondjango

解决方案


方法与使用 RAW_SQL 进行数据迁移相同,更改您的 APPNAME:

python manage.py makemigrations APPNAME --empty

在创建的文件中:

operations = [
    migrations.RunSQL(
        'ALTER SEQUENCE APPNAME_USER_id_seq RESTART WITH 10000;'
    )
]

推荐阅读