Недопустимый литерал для int() с основанием 10: 'Название товара' при экспорте в xls с помощью django и xlwt

Работая с библиотекой xlwt для экспорта документов Excel с помощью фреймворка Django, возникла следующая проблема:

недопустимый литерал для int() с основанием 10: 'Название продукта'

Я пытался использовать различные преобразования в типах данных, но это не помогло. Я хотел бы знать, как решить эту проблему, спасибо за любой совет.

models.py:

class Product(models.Model):
    name = models.CharField(max_length=100, null=True)
    quantity = models.PositiveIntegerField(null=True)
    category = models.CharField(max_length=50, choices=CATEGORY, null=True)

    def __str__(self):
        return f'{self.name}'

views.py:

def export_excel(request):
    response=HttpResponse(content_type='application/ms-excel')
    response['Content-Disposition'] = 'attachment: filename=Expenses' + \
        str(datetime.datetime.now())+'.xls'
    wb = xlwt.Workbook(encoding='utf-8')
    ws = wb.add_sheet('Expenses')
    row_num = 0
    font_style = xlwt.XFStyle()
    font_style.font.bold = True

    columns= ['Name of product', 'Category', 'Quantity']

    for col_num in range(len(columns)):
        ws.write(row_num, columns[col_num], font_style)

    font_style = xlwt.XFStyle()

    rows = Product.objects.filter(owner=request.user).values_list(
        'name', 'quantity', 'category')

    for row in rows:
        row_num += 1

        for col_num in range(len(row)):
            ws.write(row_num, str(row[col_num]), font_style)
    wb.save(response)

    return response

Решил эту проблему, добавив один пропущенный пункт в логике взглядов

ws.write(row_num, col_num, columns[col_num], font_style)
Вернуться на верх