如何根据django中的id列保存一个列值

时间:2018-01-13 01:44:13

标签: python django django-models

我想根据自动创建的模型ID将模型ID和其他格式字符保存到另一列中。例如,

例如,我在货件模型中有列名formated_id,并希望将其值设置为“easter”+自动生成的ID。我怎么能实现这一目标?谢谢。

class Shipment(models.Model):

    formated_id = models.CharField("formatedid",max_length= 50)
    class Meta:
        ordering = ['-id']

   def save(self, *args, **kwargs):
       super().save(*args, **kwargs)  

1 个答案:

答案 0 :(得分:0)

首次保存实例后,您需要设置formated_id,即创建主键时。以下(未经测试的)代码中的某些内容应该可以解决问题

class Shipment(models.Model):

    formated_id = models.CharField("formatedid",max_length= 50)
    class Meta:
        ordering = ['-id']

   def save(self, *args, **kwargs):
       super().save(*args, **kwargs)
       self.formated_id = 'easter{}'.format(self.pk)
       super().save(*args, **kwargs)