Питон: Получение всех данных из базы данных и запись в 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