大家都知道删除数据库的内容可以为subject.objects.all().delete()
但此时每个数据都有对应的主键pk,当删除数据后,在导入数据,那么pk并不会从1开始自增,而是从上次数据的最大pk值开始,我想请问如何从1开始自增,由于是导入数据,所以不希望在shell中操作。例如subject.objects.create(filename='ss',pk=1),这样感觉很麻烦。
大家都知道删除数据库的内容可以为subject.objects.all().delete()
但此时每个数据都有对应的主键pk,当删除数据后,在导入数据,那么pk并不会从1开始自增,而是从上次数据的最大pk值开始,我想请问如何从1开始自增,由于是导入数据,所以不希望在shell中操作。例如subject.objects.create(filename='ss',pk=1),这样感觉很麻烦。
才疏学浅,django貌似不行,因为mysql自身AUTO_INCREMENT维护着pk值。
你可以通过python执行sql:TRUNCATE TABLE subject 来清除表里数据。 这样 AUTO_INCREMENT又从1开始了。
2 回答4.3k 阅读✓ 已解决
2 回答862 阅读✓ 已解决
1 回答4.1k 阅读✓ 已解决
3 回答856 阅读✓ 已解决
2 回答2.2k 阅读✓ 已解决
4 回答2.6k 阅读
3 回答903 阅读✓ 已解决
django ORM 没有提供解决方案,你需要执行原生 SQL 语句: