我想根据自动创建的模型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)
答案 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)