0

我有一个创建票号的自动字段。但是,仅凭数字看起来就很不专业。我将如何在自动字段前面添加“#0000”,并且每次数字超过 1 或两位数时,都需要填写“0”。希望这是有道理的。

 Ticket_Number = models.AutoField(primary_key=True,)
  

   def save(self, *args, **kwargs):
    self.Ticket_Number = '#0000' + self.Ticket_Number
    return super(SupportTicket, self).save(*args, **kwargs)
4

2 回答 2

0

您可以覆盖模型的save方法来实现这一点:

def save(self, *args, **kwargs):
    self.Ticket_Number = '#0000' + self.Ticket_Number
    return super(TicketModel, self).save(*args, **kwargs)

未测试,抱歉!你可能会有一些转换添加......

于 2021-03-03T10:48:33.503 回答
0
 def save(self):
    if not self.Ticket_Number:
        lenn = len(SupportTicket.objects.all()) + 1
        prefix = "#000000"
        self.Ticket_Number = prefix[:-len(str(lenn))] + str(lenn)
    super(SupportTicket, self).save()
于 2021-03-08T11:44:02.557 回答