如何在下一个免费地点添加项目

时间:2013-09-18 09:16:19

标签: python django

我有一个程序,允许用户添加客户,名称和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

举个例子,一些字段如下。

客户名称RD

trustco trustco 33763:264100

namco namco 33763:264101

此处应插入客户

cell cellone 33763:264110

在这里

namp nampost 33763:264115

1 个答案:

答案 0 :(得分:0)

我不确定我是否正确地提出了问题,但是如果你想从游泳池中获取数字,我会

  1. 定义一个函数next_available_rd(),甚至是一个包含此类函数的新模型class RD_handler(models.Model)
  2. 如果您只想增加RD,可以使用current_idRD_handler存储在数据库中,并实现您的逻辑以获取方法next_available_rd()中的下一个ID。如果您从池中提取ID或具有更精细的ID生成模式,则同样的逻辑适用。