def save(self, member): courses = self.cleaned_data['currentcourses'] old_course_ids = set(member.academic.courses.values_list('id', flat=True)) if old_course_ids == set(c.id for c in courses): return semester = current_semester() MemberCourse.objects.filter(member=member.academic).delete() for course in courses: MemberCourse.objects.create(member=member.academic, course=course, instructor=None, semester=semester)
def describe_courses_iter(self): return (mc.course.short_name(space=True) for mc in MemberCourse.objects.filter(member=self, semester=current_semester()).select_related('course'))
def for_current_semester(self): return self.filter(semester=current_semester())
def describe_courses(self): courses = MemberCourse.objects.filter(member=self, semester=current_semester()).select_related('course') return ", ".join([course.course.short_name(space=True) for course in courses])