I have to generate serial number like TES-0922-1,TES-0922-2 and so on....
here TES is (company_lable) 0922 is (month and year) 1,2 is (serial number)
I wish to generate unique number by date . If today is month 9 and year 22 and I am generating new data of this month then my serial number will be TES-0922-01.
Also If I have serial numbers TES-0922-01,TES-0922-02,TES-0922-03 and If I am deleting TES-0922-01 from them. afterwards when I creating new data my serial number will be TES-0922-04
Also If I have serial numbers TES-0922-01,TES-0922-02,TES-0922-03,TES-0922-04 and If I am deleting TES-0922-01, TES-0922-04 from them. afterwards when I creating new data my serial number will be TES-0922-04
Note : I am saving that data in the database and handling them by django queryset.
What I did is mentioned below but Its not working properly. Because I am counting my data by django queryset.
views.py
def sales_invoice(request):
current_time = datetime.datetime.now()
latest_year = current_time.year
year=str(latest_year)[-2:]
latest_month = current_time.month
month="%02d" % (latest_month)
company_label= Company_Setup.objects.get(id=request.session['company_id'])
existing_label=Sales_Invoice.objects.filter(company=company_label).all()
if not existing_label:
gen_invoice_number=f"{company_label}-{month}{year}-1"
else:
total_sales = Sales_Invoice.objects.filter(company=company_label).all().count() + 1
gen_invoice_number=f"{company_label}-{month}{year}-{total_sales}"