代码之家  ›  专栏  ›  技术社区  ›  nana

Python:从数据库中获取所有数据并编写csv

  •  -1
  • nana  · 技术社区  · 1 年前

    我想从数据库中获取所有数据并写一个csv。但我无法使用此获取数据 user.lrn 例如但是如果我试着去掉lrn,只使用 使用者 ,我只拿到了所有lrn。我不知道如何称呼另一个领域。下面是我编写csv函数的代码。

    视图.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
    

    非常感谢您的帮助!

    1 回复  |  直到 1 年前
        1
  •  1
  •   Umar    1 年前

    这段代码假设您有一个名为Student的Django模型,其中包含字段lrn和lastname。它创建一个标题为“LRN”和“姓氏”的CSV文件,并将学生模型中的数据写入该文件。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