'Return QuerySet of students who are allowed to enroll in a course.
Result excludes students who have already enrolled in the
course.
`course_id` identifies the course for which to compute the QuerySet.'

@classmethod
def may_enroll_and_unenrolled(cls, course_id):

    enrolled = CourseEnrollment.objects.users_enrolled_in(course_id=course_id).values_list('email', flat=True)
    return CourseEnrollmentAllowed.objects.filter(course_id=course_id).exclude(email__in=enrolled)
