Получить кверисет из другого CBV

У меня есть два CBV: один - основной вид, который используется для отображения набора запросов, второй - вид, который используется только для обработки данных для экспорта в файл; он только возвращает файл для загрузки. Я пытаюсь добиться того, чтобы получить доступ к набору запросов из основного представления в представлении обработки. Вот мой пример:

Главный вид:

class EmployeesView(LoginRequiredMixin, FilterView):

    template_name = 'Employee/employees.html'
    model = Employee
    filterset_class = EmployeesFilter
    
    def get_queryset(self):

        order_by = 'emp_name'
    
        if self.request.GET.get('sort'):
            order_by = self.request.GET.get('sort')
    
        # Get URL parameter from dashboard and show results according to that.
        if self.kwargs and self.kwargs['ref']:
            ...
            query_set = Employee.objects.filter(visa_status='Pending Processing').order_by(order_by)
        else:
            query_set = Employee.objects.all().order_by(order_by)
    
        filter = self.filterset_class(self.request.GET, query_set)
    
        return filter.qs

Вид обработки:

class ExportEmployeesData(LoginRequiredMixin, TemplateView):

    def get(self, request, *args, **kwargs):

        emp_view = EmployeesView()
        employees = emp_view.get_queryset()
        ....
        ....

        response = HttpResponse(content_type='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', )
        response['Content-Disposition'] = 'attachment; filename={date}-employees_data.xlsx'.format(
            date=datetime.now().strftime('%d-%m-%Y, %H-%M-%S-%p'),
        )
        return response

Проблема в том, что всякий раз, когда к EmpoyeesView's get_queryset() обращаются из ExportEmployeesData, я получаю ошибку, говорящую 'EmployeesView' object has no attribute 'request'. Вот полный отслеживание:

Traceback (most recent call last):
  File "F:\Projects\HR_EmployeeDB\venv\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
    response = get_response(request)
  File "F:\Projects\HR_EmployeeDB\venv\lib\site-packages\django\core\handlers\base.py", line 181, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "F:\Projects\HR_EmployeeDB\venv\lib\site-packages\django\views\generic\base.py", line 69, in view
    return self.dispatch(request, *args, **kwargs)
  File "F:\Projects\HR_EmployeeDB\venv\lib\site-packages\django\contrib\auth\mixins.py", line 71, in dispatch
    return super().dispatch(request, *args, **kwargs)
  File "F:\Projects\HR_EmployeeDB\venv\lib\site-packages\django\views\generic\base.py", line 101, in dispatch
    return handler(request, *args, **kwargs)
  File "F:\Projects\HR_EmployeeDB\Employee\views.py", line 598, in get
    employees = emp_view.get_queryset()
  File "F:\Projects\HR_EmployeeDB\Employee\views.py", line 55, in get_queryset
    if self.request.GET.get('sort'):
  File "F:\Projects\HR_EmployeeDB\venv\lib\site-packages\django_filters\utils.py", line 58, in __getattr__
    return super(new_class, self).__getattr__(name)
  File "F:\Projects\HR_EmployeeDB\venv\lib\site-packages\django_filters\utils.py", line 58, in __getattr__
    return super(new_class, self).__getattr__(name)
  File "F:\Projects\HR_EmployeeDB\venv\lib\site-packages\django_filters\utils.py", line 58, in __getattr__
    return super(new_class, self).__getattr__(name)
  File "F:\Projects\HR_EmployeeDB\venv\lib\site-packages\django_filters\utils.py", line 59, in __getattr__
    return self.__getattribute__(name)
AttributeError: 'EmployeesView' object has no attribute 'request'
[13/Mar/2022 12:09:34] "GET /employees/export_employees_data/new_employees_list_export HTTP/1.1" 500 102591

Есть ли способ передать эти request объекты также при вызове функции? Или есть ли способ получить доступ к текущему набору запросов, который был выполнен для отображения на той же странице, без удаления условий self.request и self.kwargs?

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