我错在哪里?我想导出对象的细节
此行是< for x in x [0] [' user']:>但我不知道为什么?
Django版本:1.6.2 异常类型:KeyError 例外值:0
def export_excel(request):
response = HttpResponse(mimetype='application/vnd.ms-excel; charset="Shift_JIS"')
response['Content-Disposition'] = 'attachment; filename=file.csv'
writer = csv.writer(response)
titles = ["No","name","date","start_time","off_time"]
writer.writerow(titles)
obj_all = attendance.objects.filter(id = 1).values('user', 'contact_date', 'contact_time').order_by("-contact_time")
lea = leavework.objects.filter(id = 1).values('contact_time').order_by('-contact_time')
row = []
for x in obj_all:
for r in x[0]['user']:
row.append(r)
writer.writerow(row)
return response
答案 0 :(得分:0)
以下是我要做的事情:
for x in obj_all:
try:
for r in x[0]['user']:
row.append(r)
writer.writerow(row)
except KeyError as e:
import pdb; pdb.set_trace()
然后,我会在开发服务器中重新加载视图(你正在使用manage.py runserver
吗?),这会给我一个PDB提示。
从那开始,我会看一下x
,因为我认为问题(基于您KeyError
引用的密钥0
丢失)。您可以使用dir(x)
查看变量以查看x
具有哪些属性,只需p x
打印出``x`。
如果您是PDB的新手,Steve Ferb's guide to PDB应该可以帮助您入门。