大家都知道删除数据库的内容可以为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开始了。
4 回答4.4k 阅读✓ 已解决
4 回答3.8k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.8k 阅读✓ 已解决
1 回答2.8k 阅读✓ 已解决
2 回答1.9k 阅读✓ 已解决
django ORM 没有提供解决方案,你需要执行原生 SQL 语句: