Python 如何在下一个自由点添加项目

Python 如何在下一个自由点添加项目,python,django,Python,Django,我有一个程序,允许用户添加客户、名称和RD编号(RD编号类似于ID)。我有一个导入脚本,可以将现有的详细信息上载到我的数据库中,但在RD编号应该存在的位置有空闲的插槽(这意味着有些客户的RD编号较高,有些较低,有些介于两者之间。它们不是按顺序填写的。)我需要设置我的程序,以便在添加客户时,默认设置下一个可用的RD编号 我的模型 class Customer(models.Model): name = models.CharField(max_length=100)

我有一个程序,允许用户添加客户、名称和RD编号(RD编号类似于ID)。我有一个导入脚本,可以将现有的详细信息上载到我的数据库中,但在RD编号应该存在的位置有空闲的插槽(这意味着有些客户的RD编号较高,有些较低,有些介于两者之间。它们不是按顺序填写的。)我需要设置我的程序,以便在添加客户时,默认设置下一个可用的RD编号

我的模型

class Customer(models.Model):
        name = models.CharField(max_length=100)
        description = models.CharField(max_length=100, blank=True)
        active = models.BooleanField()

        def __unicode__(self):
                return self.name

class Route_distinguisher(models.Model):
        name = models.CharField(max_length=100)
        customer = models.ForeignKey(Customer)
        comment = models.CharField(max_length=100, blank=True)
        active = models.BooleanField(default=True)
        rd = models.CharField(max_length=20, default='33763:264')

        def __unicode__(self):
                return self.name
作为一个例子,一些字段如下所示

客户名称

trustco trustco 33763:264100

南科南科33763:264101

这里应该有客户

cell cellone 33763:264110

这里呢


namp nampost 33763:264115

我不确定我是否正确回答了这个问题,但如果你想从池中获取数字,我会的

  • 定义一个函数
    next\u available\u rd()
    ,甚至定义一个新的模型
    类rd\u处理程序(models.model)
    ,其中包含这样一个函数
  • 如果您只想增加RD,可以使用
    RD\U处理程序
    当前\u id
    存储在数据库中,并在方法
    next\u available\u RD()
    中实现逻辑以获取下一个id。如果您从池中拖动id或具有更复杂的id生成模式,则同样的逻辑适用