关于django的数据库删除问题

大家都知道删除数据库的内容可以为subject.objects.all().delete()
但此时每个数据都有对应的主键pk,当删除数据后,在导入数据,那么pk并不会从1开始自增,而是从上次数据的最大pk值开始,我想请问如何从1开始自增,由于是导入数据,所以不希望在shell中操作。例如subject.objects.create(filename='ss',pk=1),这样感觉很麻烦。

阅读 7.8k
3 个回答

django ORM 没有提供解决方案,你需要执行原生 SQL 语句:

ALTER TABLE <table_name> AUTO_INCREMENT=1;

才疏学浅,django貌似不行,因为mysql自身AUTO_INCREMENT维护着pk值。
你可以通过python执行sql:TRUNCATE TABLE subject 来清除表里数据。 这样 AUTO_INCREMENT又从1开始了。

你有强迫症么, 我以前也觉得id递增很舒服.
其实没有卵用

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题