def refresh_departments(cursor): depts = cursor.execute(""" SELECT Code, Description FROM pom.Departments;""").fetchall() total = created = 0 for deptrow in depts: if _is_requirement_area(deptrow.Code): try: ra = RequirementArea.objects.get(code=deptrow.Code) except RequirementArea.DoesNotExist: ra = RequirementArea(code=deptrow.Code) created += 1 ra.name = deptrow.Description ra.campus = CAMPUSES[int(deptrow.Code[0]) - 1][0] # CAMPUSES is 0-indexed ra.save() else: try: dept = Department.objects.get(code=deptrow.Code) except Department.DoesNotExist: dept = Department(code=deptrow.Code) created += 1 dept.name = deptrow.Description dept.save() total += 1 logger.info("Updated {0} departments and requirement areas, creating {1}" " new records".format(total, created))
def handle(self, *args, **options): from aspc.data.scraped_departments import departments for code, name in departments: self.stdout.write('trying "%s"... ' % code) name = name.replace('&', '&') newdept = Department(code=code, name=name) try: newdept.save() self.stdout.write('Successfully added "%s"\n' % code) except django.db.utils.IntegrityError: self.stdout.write('exists, skipping\n')