我在 mysql 中有下表:
CREATE TABLE `portal_asset` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`asset_id` int(11) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=1000000 DEFAULT CHARSET=utf8;
我如何在 Django 中创建同一张表?到目前为止,我有以下内容,但不确定如何设置 AUTO_INCREMENT
值 --
class PortalAsset(models.Model):
id = models.IntegerField(primary_key=True)
asset_id = models.IntegerField(unique=True)
class Meta:
db_table = u'portal_asset'
如何将 AUTO_INCREMENT
值设置为从 1000000 开始?相当于:
alter table portal_asset AUTO_INCREMENT=1000000;
最佳答案
您可以使用 RunSQL
在迁移中执行必要的 SQL 操作:
migrations.RunSQL("ALTER TABLE portal_asset AUTO_INCREMENT=1000000;")
如果您还没有运行任何迁移,您可以将其添加到您的第一次迁移中,以确保在设置新值之前不会插入任何行。否则,您必须在新迁移中添加此操作。您可以使用 python manage.py makemigrations --empty <yourappname>
创建一个新的空迁移.
关于python - 在 Django 表中设置 AUTOINCREMENT 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34279652/