def Generator(request): allofem = Assignment.objects.all() for a in allofem: a.delete() pref = UserProfile.objects.all() opt_dict = {} for stu in pref: opt_dict[stu]= [stu.option1, stu.option2, stu.option3, stu.option4, stu.option5] courses = Course.objects.all() results = {} caps = {} for i in courses: caps[mkkey(i.name,i.available)]= i.max_cap for i in courses: results[mkkey(i.name, i.available)]= [] for stu in pref: for i in range(5): if canassign(opt_dict[stu][i], stu.user, str(stu.grade), caps, results): results[mkkey(opt_dict[stu][i], str(stu.grade))].append(stu.user) else: continue for i in results.keys(): for j in results[i]: assignment = Assignment() assignment.user = j assignment.class_name = i assignment.save() return HttpResponseRedirect(reverse('showassignments'))