i have code like this:
class NumberSequence(models.Model):
code = models.CharField(max_length=12)
prefix = models.CharField(max_length=3, verbose_name='Prefix')
length = models.IntegerField(verbose_name='Digit Length')
last = models.IntegerField(verbose_name='Last Number Used')
def getNumberSequence():
ns = NumberSequence.objects.filter(code='REQ')
letter = ns[0].prefix
lastNumber = ns[0].last+1
formatedNS = '{0}-{1:0'+str(ns[0].length)+'d}'
NumberSequence.objects.filter(code='REQ').update(last=lastNumber)
return formatedNS.format(letter,lastNumber)
class Requisitions(models.Model):
number = models.CharField(max_length=20, default=getNumberSequence)
but when I created new record in Requisition, the last number in NumberSequence updated to lastNumber+2.
example : last = 1. When i created new record, last updated to 3. The last should be updated to 2.
What's wrong with my code? Thanks