为在django中创建的每个新对象分配了一个错误的id

vsnjm48y  于 2021-06-25  发布在  Mysql
关注(0)|答案(1)|浏览(288)

我删除了一些属于我在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}]>
cwdobuhd

cwdobuhd1#

当您保存一个新对象时,我相信django只是从数据库中提取下一个未使用的id。因此,如果使用了ID4到ID14,它们就不会被重用——即使您已经删除了这些记录。

相关问题