如何从某个数字(如 2456)开始 Django 模型自动递增密钥?

How to start Django models auto increment key from a certain number like 2456?

在mysql中如果你想从2456开始你的自增密钥你可以写AUTO_INCREMENT=2456

同样在 PostgreSQL 中,我们可以使用 Sequence

CREATE SEQUENCE serial START 2456;
INSERT INTO distributors VALUES (nextval('serial'), 'nothing');

但在 Django Rest Framework 或 Django 中默认自动增量从 1 开始。如果我有这样的模型

class Content(models.Model):
     title = models.CharField(max_length=70, blank=False, default='')
     description = models.CharField(max_length=200,blank=False, default='')
     published = models.BooleanField(default=False)

如何确定第一个内容是从2456开始的?

创建一个RunSQL--(Django Doc)操作

from django.db import migrations


class Migration(migrations.Migration):
    dependencies = [
        ('sample', '0003_content'),
    ]

    <b>operations = [
        migrations.RunSQL(
            "ALTER SEQUENCE sample_content_id_seq RESTART WITH 1453"
        ),
    ]</b>