Django 重置自动递增

18 浏览
0 Comments

Django 重置自动递增

我有一个正在运行的Django应用程序,在我的models.py中有一个字段,其中有models.AutoField(primary_key=True)。我进入管理网站并从表中删除了一些行,但是当创建一个新对象时,自增值从之前的位置继续而不是返回到1。

有没有办法重置这个值?我已经尝试删除该字段,运行迁移,然后重新添加该字段,但没有成功。

0
0 Comments

问题出现的原因是在Django中重置自增字段的自增值。解决方法是根据所使用的数据库类型不同,采取不同的操作。

如果使用的是PostgreSQL数据库,可以尝试使用以下命令:

python manage.py sqlsequencereset AppName | psql DatabaseName

AppName替换为应用程序的名称,将DatabaseName替换为数据库的名称。

如果使用的是SQLite数据库,可以在dbshell中使用以下命令:

ALTER TABLE <table_name> AUTO_INCREMENT = 1;

<table_name>替换为表的名称。

更多相关信息可以参考Django reset auto-increment pk/id field for production

0