我在Django中删除了属于我的某个模型的一些对象。现在,当我创建一个新对象时,会为该对象分配一个错误的id。这个id不是连续的。我该如何解决这个问题? 例子:
>>> Programmer.objects.all().values()
<QuerySet [{'id': 1, 'name': 'Linus Torvalds','occupation': 'Software enginner'},
{'id': 2, 'name': 'Tim Cook', 'occupation': 'CEO'},
{'id': 3, 'name': 'Elon Musk', 'occupation': 'Entrepreneur, engineer'}]>
>>> p4=Programmer(name='Mark Zuckerberg')
>>> p4.save()
>>> Programmer.objects.all().values()
<QuerySet [{'id': 1, 'name': 'Linus Torvalds', 'occupation': 'Software enginner'},
{'id': 2, 'name': 'Tim Cook', 'occupation': 'CEO'},
{'id': 3, 'name': 'Elon Musk', 'occupation': 'Entrepreneur, engineer'},
{'id': 15, 'name': 'Mark Zuckerberg', 'occupation': None}]>
答案 0 :(得分:2)
当你保存一个新对象时,我相信Django只是从数据库中提取下一个未使用的id。因此,如果使用了ID 4到14,那么它们就不会被重用 - 即使您已经删除了这些记录。