djang中如何基于id列保存一个列值

2024-04-29 19:56:39 发布

您现在位置:Python中文网/ 问答频道 /正文

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

例如,我在发货模型中将列名格式化为\u 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)  

Tags: 模型idmodelmodelssave格式args字符
1条回答
网友
1楼 · 发布于 2024-04-29 19:56:39

您需要在第一次保存实例后设置格式化的\u 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)

相关问题 更多 >