def initSection(): print("*****************************************") print("Start to init Sections...") sindex =0 for i in range(94): sindex = sindex + 1 code = '{code:03d}'.format(code=sindex) sec = Section() sec.code = code sec.name = str(sindex) sec.save() sindex = sindex + 1 code = '{code:03d}'.format(code=sindex) sec = Section() sec.code = code sec.name = "F" sec.save() sindex = sindex + 1 code = '{code:03d}'.format(code=sindex) sec = Section() sec.code = code sec.name = "U" sec.save() print("Stop to init Section")
def getUpdateSectionWithName(district,area,division): disSec = None areaSec = None divSec = None if district and len(district) > 0: try: disSec = Section.objects.get(name__iexact=district,pid_id__isnull=True) except: pass if disSec is None: discode = 0 try: preDisSec = Section.objects.filter(pid_id__isnull=True).latest('code') if preDisSec: discode = int(preDisSec.code) + 1 else: discode = int("001") except: discode = int("001") pass if discode > 0: disSec = Section() disSec.code = '{code:03d}'.format(code=discode) disSec.name = district disSec.save() else: return None if disSec and area and len(area) > 0: areaSec = None try: areaSec = Section.objects.get(name__iexact=area,pid__id__exact=disSec.id) except: pass if areaSec is None: areacode = 0 try: preAreaSec = Section.objects.filter(pid__id__exact=disSec.id).latest('code') if preAreaSec: areacode = int(preAreaSec.code) + 1 else: areacode = int(disSec.code + "001") except: areacode = int(disSec.code + "001") pass if areacode > 0: areaSec = Section() areaSec.code = '{code:06d}'.format(code=areacode) areaSec.name = area areaSec.pid = disSec areaSec.save() else: return disSec if areaSec and division and len(division) > 0: try: divSec = Section.objects.get(name__iexact=division,pid__id__exact=areaSec.id) except: pass if divSec is None: divcode = 0 try: preDivSec = Section.objects.filter(pid__id__exact=areaSec.id).latest('code') if preDivSec: divcode = int(preDivSec.code) + 1 else: divcode = int(areaSec.code + "001") except: divcode = int(areaSec.code + "001") pass if divcode > 0: divSec = Section() divSec.code = '{code:09d}'.format(code = divcode) divSec.name = division divSec.pid = areaSec divSec.save() else: return areaSec return divSec