Django Excel Export (с использованием xlwt)
Я пытаюсь экспортировать данные, привязанные к идентификатору, из представления в файл excel, вот код:
from django.shortcuts import render
from clientesapp.models import Cliente, Orden
from django.http import HttpResponse
import xlwt
def excel_create(request, id):
    
    response = HttpResponse(content_type='application/ms-excel')
    response['Content-Disposition'] = 'attachment; filename="recibo.xls"'
    wb = xlwt.Workbook(encoding='utf-8')
    ws = wb.add_sheet('recibo')
    row_num = 0
    font_style = xlwt.XFStyle()
    font_style.font.bold=True
    columns = ['Orden', 'Cliente', 'Entrada', 'Instrumento', 'Marca',]
    for col_num in range(len(columns)):
        ws.write(row_num, col_num, columns[col_num], font_style)
    font_style = xlwt.XFStyle()
    rows = Orden.objects.get(id=id)
    rows.values_list('num_orden', 'client', 'fechain', 'instrumento', 'marca')
    
    for row in rows:
        row_num +=1
        for col_num in range(len(row)):
            ws.write(row_num, col_num, row[col_num], font_style)
    wb.save(response)
    return response
Я хочу экспортировать в excel эту таблицу, которая также показывает идентификатор, который мне нужен для получения данных: Таблица с id
Но этот код выдает ошибку "У объекта Orden нет атрибута values_list". Как я могу решить эту проблему?
В соответствии с QuerySet API вы должны называть его так:
rows = Orden.objects.values_list('num_orden', 'client', 'fechain', 'instrumento', 'marca', flat=True).get(pk=id)