自动发票在django后端发票新的发票 [英] Auto increament the invoice number in django backend for new invoice
问题描述
我想自动发送3位数字字符和4位数的发票号码。
类发票:
invoice_no = models.CharField(max_length = 500,null = True,blank = True,validators = [RegexValidator(regex ='^ [a-zA-Z0-9] * $',message ='发票必须为字母数字' ,code ='invalid_invoice number'),])
我在后端注册这个模型。但现在当我点击管理员的创建发票时,发票应该是自动填充的。当我再次点击管理员中的新发票时,发票号应增加1,应为自动字段。
发票编号MAG0001,MAG0002,MAG0003等,当我点击创建新发票时,这应该是admin中的auto field。
定义一个函数来生成发票号码。 $ p $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ $ )
如果不是last_invoice:
返回'MAG0001'
invoice_no = last_invoice.invoice_no
invoice_int = int(invoice_no.split('MAG')[ - 1])$ b $ b new_invoice_int = invoice_int + 1
new_invoice_no ='MAG'+ str(new_invoice_int)
返回new_invoice_no
现在使用此函数作为模型库中的默认值。
invoice_no = models.CharField(max_length = 500 ,default = increment_invoice _number,null = True,blank = True)
这只是一个想法。修改功能以匹配您首选的发票编号格式。
I want to auto increament the invoice number which is 3 digits char and 4 digits number.
class Invoice:
invoice_no = models.CharField(max_length=500, null=True, blank=True, validators=[RegexValidator(regex='^[a-zA-Z0-9]*$',message='Invoice must be Alphanumeric',code='invalid_invoice number'),])
I register this model in backend. But now when i click on create invoice in admin the invoice should be auto filled. When i again click on create new invoice in admin, the invoice_number should be incremented by one and should be auto field.
Ex for Invoice number MAG0001, MAG0002, MAG0003 etc and this should be auto field in admin when i click on create new invoice.
Define a function to generate invoice number.
def increment_invoice_number():
last_invoice = Invoice.objects.all().order_by('id').last()
if not last_invoice:
return 'MAG0001'
invoice_no = last_invoice.invoice_no
invoice_int = int(invoice_no.split('MAG')[-1])
new_invoice_int = invoice_int + 1
new_invoice_no = 'MAG' + str(new_invoice_int)
return new_invoice_no
Now use this function as default value in your model filed.
invoice_no = models.CharField(max_length = 500, default = increment_invoice_number, null = True, blank = True)
This is just an idea. Modify the function to match your preferred invoice number format.
这篇关于自动发票在django后端发票新的发票的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!