Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python django回接型号id?_Python_Django - Fatal编程技术网

Python django回接型号id?

Python django回接型号id?,python,django,Python,Django,我有下面的ID列表 一, 二, 三, 四, 如果我删除id 2,然后插入一个新值,它将使用id 5 是否可以自动重新分配id 2?Django中模型的主键通常由数据库层处理的自动递增字段表示。例如,在MySQL中,该选项将添加到主键中 这为数据库层为每个记录分配唯一的id提供了一种有效的方法。如果不对Django进行重大更改,就不可能不使用自动增量类型 相反,您可能需要添加一个由您控制的字段,手动确保该字段不包含任何间隙。 从django.db导入模型 class MyModel(model

我有下面的ID列表

  • 一,
  • 二,
  • 三,
  • 四,
如果我删除id 2,然后插入一个新值,它将使用id 5

是否可以自动重新分配id 2?

Django中模型的主键通常由数据库层处理的自动递增字段表示。例如,在MySQL中,该选项将添加到主键中

这为数据库层为每个记录分配唯一的id提供了一种有效的方法。如果不对Django进行重大更改,就不可能不使用自动增量类型

相反,您可能需要添加一个由您控制的字段,手动确保该字段不包含任何间隙。 从django.db导入模型

class MyModel(models.Model):
    my_id = models.IntegerField(unique=True)
然后,在保存表示不包含间隙的序列的值之前,您需要为
my_id
指定一个值。通过Django ORM查找下一个
my_id
应该在insert上是什么可能并不简单,也不容易有效地完成。请参阅以获取一些想法

对原始id重新编号可能会产生问题,特别是对于引用原始id创建的任何数据