如何从某个数字(如 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>
在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>