如何使用Django将字符串添加到自动字段/主键

时间:2019-01-07 10:17:22

标签: django

我创建了一个模型,其中包含一些字段,例如名称,类型,日期和Request_Id

每当我在数据库中插入新记录时,我都想在request_Id字段的ID(主键/自动字段)后面附加一个字符串,例如:REQ。

EG:REQ_1,REQ_2,REQ3

有什么建议可以做到这一点?

谢谢。

2 个答案:

答案 0 :(得分:0)

您可能必须定义一个自定义的primary_key字段。 并且在模型保存时,您可以在其前面附加REQ_

类似的东西(需要测试)

class MyClass(models.Model):
    id = models.CharField(max_length=100, primary_key=True)

    def save(self, *args, **kwargs): 
        super().save(*args, **kwargs)  
        if not 'REQ_' in self.id:  
            self.id = 'REQ_'+self.id
            super().save(*args, **kwargs)

答案 1 :(得分:0)

class Request(models.Model):
    Request_Id = models.CharField(primary_key=True)
    ...

创建一个函数,该函数可以根据需要创建您的Request_Id。 其中key =“ REQ _”

def create_request_id(key):
    num = Request.objects.all().count()
    return key + str(num)

现在您可以将该ID存储为“ Requested_Id”