Django экспорт в csv с выводом только одной строки данных

У меня есть 4 строки данных в простой базе данных, и я хотел бы вывести их в .csv. Я настроил Django csv и все вроде бы работает нормально, но я получаю только первую строку. Может ли кто-нибудь сказать мне, что не так с кодом, который я использовал, поскольку мне явно нужны все 4 строки.

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)

    def __str__(self):
        return str(self.User)

views.py

def stage(request):
    slist = account.objects.all()
    return render(request, 'stage.html', {'slist': slist})

def export_csv(request):
    response=HttpResponse(content_type='text/csv')

    writer = csv.writer(response)
    writer.writerow(['User', 'Account Number', 'Price', 'Date'])

    for file in account.objects.all().values_list('User', 'Account_Number', 'Price', 'Date'):
        writer.writerow(file)
        response['Content-Disposition'] = 'attachment; filename="Expenses.csv"'
    return response

urls.py

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

html

<table id="dataTable" class="table">
    <thead>
        <tr>
            <th>User</th>
            <th>Account Number</th>
            <th>Price</th>
            <th>Date</th>
        </tr>
    </thead>
    <tbody>
            {% for item in slist%}
        <tr>
            <td>{{item.User}}</td>
            <td>{{item.Price}}</td>
            <td>{{item.Account_Number}}</td>
            <td>{{item.Date}}</td>
        </tr>
            {% endfor %}
    </tbody>
</table>

<div><a href="{% url 'exportcsv' %}">
    <button type="button" class="button">Export to CSV</button></a></div>

Я изменил код для функции экспорта, и теперь он, кажется, работает.

views.py

def export_csv(request):  
    response = HttpResponse(content_type='text/csv')  
    response['Content-Disposition'] = 'attachment; filename="file.csv"'  
    employees = account.objects.all()

    writer = csv.writer(response)
    writer.writerow (['User', 'Price', 'Acoout Number'])


    for employee in employees:  
        writer.writerow([employee.User,employee.Price,employee.Account_Number])  
    return response 
Вернуться на верх