def new_course(request): if request.method == 'POST': params = request.POST course_code = params.get('course_code', '') name = params.get('name', '') unit = params.get('unit', '') dept_id = params.get('department', '') semester = params.get('semester', '') level = params.get('level', '') lecturers = params.getlist('lecturer', '') department = Department.objects.get(pk=dept_id) try: pay_load = { 'course_code': course_code, 'name': name, 'unit': unit, 'department': department, 'level': level, 'semester': semester, } course = Course(**pay_load) course.added_by = request.user course.save() for i in lecturers: lecturer = Lecturer.objects.get(pk=int(i)) course.lecturers.add(lecturer) course.save() import pdb pdb.set_trace() messages.success(request, "The course: '%s: %s', has been successfully created" %(course.course_code, course.name)) except Exception as e: messages.error(request, e) return HttpResponseRedirect(reverse('courses:course-list'))