带前缀的 Django 管理自动字段
Django admin auto field with prefix
我有一个创建票号的自动字段。然而,光是数字看起来就很不专业。我如何在自动字段前面添加“#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)
您可以覆盖模型的 save
方法来实现此目的:
def save(self, *args, **kwargs):
self.Ticket_Number = '#0000' + self.Ticket_Number
return super(TicketModel, self).save(*args, **kwargs)
未测试,抱歉!您可能会添加一些转换...
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()
我有一个创建票号的自动字段。然而,光是数字看起来就很不专业。我如何在自动字段前面添加“#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)
您可以覆盖模型的 save
方法来实现此目的:
def save(self, *args, **kwargs):
self.Ticket_Number = '#0000' + self.Ticket_Number
return super(TicketModel, self).save(*args, **kwargs)
未测试,抱歉!您可能会添加一些转换...
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()