Как экспортировать отфильтрованные данные в django

Я использую представление на основе классов для поиска таких данных и хочу экспортировать результаты поиска. Вывод осуществляется из поиска по двум датам. Я использую следующий код:

class expenses_list(ListView):
   model = EXPENSES
   template_name = 'cashes/expenses_list.html'
   paginate_by=10

   def get_queryset(self):
      filter_val1=self.request.GET.get("filter1","")
      filter_val2=self.request.GET.get("filter2","")
      order_by=self.request.GET.get("orderby","-date_of_operation")
      if filter_val1!="" and filter_val2!="":
        reqo=EXPENSES.objects.filter(Q(created_at__range= 
       [filter_val2,filter_val1])).order_by(order_by)
      else:
        reqo=EXPENSES.objects.filter().order_by(order_by)
        
    return reqo

  def get_context_data(self,**kwargs):
      context=super(expenses_list,self).get_context_data(**kwargs)
      context["filter1"]=self.request.GET.get("filter1","")
      context["filter2"]=self.request.GET.get("filter2","")
      context["orderby"]=self.request.GET.get("orderby","id")
      context["all_table_fields"]=EXPENSES._meta.get_fields()
    return context

и у меня есть это как интерфейс введите здесь описание изображения

следующий код экспорта не работает, так как значения полей даты являются пустыми

def  exporexpensescsv(request,**kwargs):
  filter_val1=request.GET.get("filter1")
  filter_val2=request.GET.get("filter2")
  print(filter_val1)
  print(filter_val2)
  response=HttpResponse(content_type='text/csv')
  response['Content-Disposition'] = 'attachment; filename=expenses' + 
  str(datetime.datetime.now())+'.csv'

  writer = csv.writer(response)
  writer.writerow(['Categoty','Beneficiary','Description','Operation 
  Date','Amount','Account Number','Paymrnt Date','Status'])
  expes = EXPENSES.objects.filter(Q(created_at__range=[filter_val1,filter_val2]))
  # expes = EXPENSES.objects.all()
  for exp in expes:
    writer.writerow([exp.category,exp.beneficiary,exp.description,
                    
    exp.date_of_operation,exp.amount,exp.account_number,exp.payment_date,
                    exp.status])
return response

но когда я хочу экспортировать с expes = EXPENSES.objects.all(), это работает хорошо. Помогите, чтобы можно было экспортировать отфильтрованные данные.

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