Не могу данные из формы django передать в excel файл
Суть задачи заключается в том , что из бд в форму погружаются данные и после выбора передать в excel файл. У меня не получается выдает ошибку object of type 'Price_Dipos' has no len() во view.py в строке "for col_num in range(len(row)):", пробовал по разному записывать не получается , может я что то не понимаю, не знаю, помогите пожалуйста. model.py
from django.db import models
class Price_Dipos(models.Model):
id_v1_dipos = models.AutoField(primary_key=True)
name = models.CharField(max_length=100, help_text="Название изделия")
cost = models.IntegerField()
objects = models.Manager()
def __str__(self):
return"{0} {1} {2}".format(self.id_v1_dipos,self.name,self.cost)
forms.py
from django import forms
from .models import Price_Dipos ,Price_SevZap, Price_MelallServ
class Prise_Dipos_Form(forms.Form):
name = forms.ModelMultipleChoiceField(queryset= Price_Dipos.objects.all())
view.py
from django.shortcuts import render
from .models import Price_Dipos ,Price_SevZap, Price_MelallServ
from .forms import Prise_Dipos_Form
import xlwt
def index(request):
num_books=Price_Dipos.objects.all()
num_books1=Price_SevZap.objects.all()
num_books2=Price_MelallServ.objects.all()
form = Prise_Dipos_Form(request.POST or None)
if request.method == 'POST' and form.is_valid():
name = form.cleaned_data.get('name')
wd = xlwt
wb = xlwt.Workbook()
ws = wb.add_sheet('Test')
row_num = 0
font_style = xlwt.XFStyle()
font_style.font.bold =True
columns = ['name']
for col_num in range(len(columns)):
ws.write(row_num,col_num, columns[col_num], font_style)
font_style =xlwt.XFStyle()
rows = name
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('test.xls')
else:
form = Prise_Dipos_Form()
return render(
request,
'index.html',
context={'form': form},
)