Питон: Получение всех данных из базы данных и запись в csv

Я хочу получить все данные из базы данных и записать их в csv. Но я не могу получить данные, используя этот user.lrn (например). Но если я попытаюсь удалить lrn и просто использовать user, я получу только все lrn. Я не знаю, как вызвать другое поле. Ниже приведен мой код для функции записи csv.

views.py

def exportStudentList(request):
    user = Student.objects.all()
    data = [user.lrn, user.lastname]
    # data = [user]
    field = ['LRN', 'Last Name']

    response = HttpResponse(content_type='text/csv')
    response['Content-Disposition'] = 'attachment; filename="Students.csv"'

    writer = csv.writer(response)
    writer.writerow(field)  # Header
    writer.writerows(data)  # Rows

    return response

Ваша помощь будет высоко оценена!

Этот код предполагает, что у вас есть модель Django под названием Student с полями lrn и lastname. Он создает CSV-файл с заголовками "LRN" и "Фамилия" и записывает данные из модели Student в этот файл. Объект HttpResponse используется для возврата CSV-файла в качестве ответа на запрос пользователя.

import csv
from django.http import HttpResponse
from myapp.models import Student

def exportStudentList(request):
    students = Student.objects.all()
    response = HttpResponse(content_type='text/csv')
    response['Content-Disposition'] = 'attachment; filename="Students.csv"'
    writer = csv.writer(response)
    writer.writerow(['LRN', 'Last Name'])
    for student in students:
        writer.writerow([student.lrn, student.lastname])
    return response
Вернуться на верх