我不知道什麼是錯在此代碼;以前它工作正常,但在數據庫遷移(sqlite3到MySQL)後,它不再有效。 (我正在使用MySQL)。「長」對象有沒有屬性「使用fetchall」
回溯:在get_response 文件 「/usr/lib/python2.6/site-packages/django/core/handlers/base.py」 111響應=回調(請求,* callback_args,** callback_kwargs) 文件 「/usr/lib/python2.6/site-packages/django/contrib/auth/decorators.py」 在_wrapped_view 23.返回view_func(請求,*指定參數時,** kwargs)
代碼:
cursor = connection.cursor()
data = cursor.execute(query)
data_list = data.fetchall()
return redirect("http://www.example.com?code=123" , code=302)
result_count = len(data_list)
if result_count==0:
return HttpResponse('<script type="text/javascript"> alert ("try again"); window.location.href = "/reports/custom/";</script>')
data_desc = data.description
j=0
"""
prepare first response
"""
now = datetime.datetime.now().strftime('%m-%d-%Y_%H:%M:%S')
response = HttpResponse(mimetype='text/csv')
response['Content-Disposition'] = 'attachment; filename=hiv_report_%s.csv' % now
writer = csv.writer(response)
headers = []
tab_no = 0
for i in data_desc:
#ws.write(0, j, (i[0].replace('_', ' ')).upper())
if i[0] == 'id':
table_name = tab_order[tab_no]
tab_no = tab_no +1
headers.append((table_name+ " | " +i[0].replace('_', ' ')).upper())
writer.writerow(headers)
"""
fill data into csv cells
"""
for value in data_list:
k=0
no_record_check=1
row = []
for val in value:
#ws.write(j, k, val)
row.append(val)
writer.writerow(row)
沒錯,和''sqlite3' cursor.execute()'調用只是返回遊標,這就是爲什麼它使用前的工作。 –
謝謝,但現在我得到: 「長」對象有沒有屬性「描述」 – user3269734
@ user3269734,你需要使用'cursor'對象,而不是'data'。所以'data.description'應該是'cursor.description'。 –