Search code examples
djangoadminprefixautofield

Django admin auto field with prefix


I have a auto field that creates a ticket number. however just the number alone looks very un professional. how would I add "#0000" in front of the auto field and every time the number goes above 1 or two digits the "0" needs to be filled . Hope this makes sense .

 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)

Solution

  •  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()