Как отфильтровать набор запросов модели перед ее рендерингом

Я пытаюсь запустить представление ниже на моем сайте django:

class CalendarView(LoginRequiredMixin, generic.ListView):
    model = Class
    template_name = 'leads/calendar.html'

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        # use today's date for the calendar
        d = get_date(self.request.GET.get('month', None))
        # Instantiate our calendar class with today's year and date
        cal = Calendar(d.year, d.month)
        # Call the formatmonth method, which returns our calendar as a table
        html_cal = cal.formatmonth(withyear=True)
        context['calendar'] = mark_safe(html_cal)
        context['prev_month'] = prev_month(d)
        context['next_month'] = next_month(d)
        return context

Однако, когда я добавляю приведенный ниже код, он не фильтрует модель Class перед отображением календаря. Поэтому в итоге я перебираю все экземпляры в модели Class.

def get_queryset(self):
        return Class.objects.filter(date=datetime.date(1111,11,11))

Конечно, я собираюсь отредактировать функцию выше, чтобы использовать информацию пользователя, а не просто фильтровать по дате 1111-11-11.

Однако, если это невозможно, я надеюсь, что вы знаете способ передать информацию о пользователе в utils.py, чтобы обойти эту проблему. Мне нужно что-то вроде нижеприведенного(self.request.user), которое использовалось для views.py:

def get_context_data(self, **kwargs):
    context = super(ListView, self).get_context_data(**kwargs)
    user = self.request.user
    if user.is_student:
        queryset = Lead.objects.filter(
            status__exact="n"
        )
    return context

Было бы очень полезно, если бы вы, ребята, могли помочь мне и задать любые вопросы. Спасибо.

Вернуться на верх