Как экспортировать csv из результатов поиска в Django

У меня есть форма поиска, использующая django-filters, и я хочу экспортировать .csv с отфильтрованным результатом. В настоящее время это дает мне полную страницу данных, и я не уверен, как объединить эти два вида вместе, чтобы использовать фильтрацию.

models.py

class account(models.Model):
    Price = models.DecimalField('price', max_length=20, blank=True, null=True, max_digits=10, decimal_places=2)
    User = models.CharField('user', max_length=120, blank=True, null=True,)
    Account_Number = models.CharField('account Number', max_length=20, blank=True, null=True,)
    Date = models.DateField(default=now)

views.py

def stage(request):
    slist = account.objects.all()
    search_list = account.objects.all()
    search_filter = stageFilter(request.GET, queryset=search_list)
    return render(request, 'stage.html', {'slist': slist, 'search': search_filter})

def export_csv(request):
    employees = account.objects.all()
    response = HttpResponse(content_type='text/csv')  
    response['Content-Disposition'] = 'attachment; filename="file.csv"'  
    writer = csv.writer(response)
    writer.writerow (['User', 'Account Number', 'Price', 'Date'])
    for employee in employees:  
        writer.writerow([employee.User,employee.Account_Number,employee.Price, employee.Date])  
    return response

filters.py

class stageFilter(django_filters.FilterSet):
    Date = django_filters.DateFromToRangeFilter(widget=RangeWidget(attrs={'type': 'date'}))

class Meta:
    model = account
    fields = ['User', 'Account_Number', 'Price', 'Date']

urls.py

urlpatterns = [
    path('stage/', views.stage, name='stage'),
    path('export_csv', views.export_csv, name='exportcsv')
]

Вот решение моей проблемы. Очевидно, мне нужно было включить поиск/поисковый набор в определение export_csv, что я уже пытался сделать, но безуспешно. Недостающей частью кода было добавление request.GET.urlencode() в шаблон, который принимает строку запроса из url и передает результат в .csv

views.py

def export_csv(request):
    employees = account.objects.all()
    search = stageFilter(request.GET, queryset=employees).qs
    response = HttpResponse(content_type='text/csv')  
    response['Content-Disposition'] = 'attachment; filename="file.csv"'  
    writer = csv.writer(response)
    writer.writerow (['User', 'Account Number', 'Price', 'Date'])
    for e in search.values_list('User', 'Account_Number', 'Price', 'Date'):
        writer.writerow(e)  
    return response

html

<table class="table table-striped table-bordered table-hover">
  <thead class="table-dark">

    <thead>
        <tr>
            <th>User</th>
            <th>Account Number</th>
            <th>Price</th>
            <th>Date</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            {% for item in search.qs%}

            <td>{{item.User}}</td>
            <td>{{item.Account_Number}}</td>
            <td>{{item.Price}}</td>
            <td>{{item.Date}}</td>
        </tr>
          {% endfor %}
       
    </tbody>
</table>

<div><a href="{% url 'exportcsv' %}?{{request.GET.urlencode}}">
<button type="button" class="button">Export to CSV</button></a></div>
Вернуться на верх