from vbv_lernwelt.course.models import CourseSessionUser def has_course_access(request, obj): if request.user.is_superuser: return True course = obj.specific.get_course() # attached to CourseSession course_session = CourseSessionUser.objects.filter( course_session__course_id=course.id, user=request.user ).exists() if course_session: return True # TODO is trainer/expert of session # TODO check school class access return False