【发布时间】:2017-12-27 22:58:55
【问题描述】:
我创建了一个从数据库中获取数据,将其转换为 json 格式并返回 JSON 响应的方法。
def getEchoResource(self):
try:
row = self.cursor.execute("SELECT * FROM echo_resource_log WHERE DATE(last_update) = CURDATE();")
if row:
response = app.response_class(response=json.dumps(dict(self.cursor.fetchall())), status=200, mimetype='application/json')
return response
except MySQLdb.Error as e:
logger.error("Error %d: %s" % (e.args[0],e.args[1]))
except Exception, e:
logger.error("Error : ", str(e))
该方法抛出此错误消息 - ValueError: 'dictionary update sequence element #0 has length 4; 2 是必需的'
追踪-
>/app/worker/echo/apps/opsware_flask_rest_app/opsware_flask_rest_app/
updateEchoResource.py(123)getEchoResource()
-> row = self.cursor.execute("SELECT * FROM echo_resource_log WHERE
DATE(last_update) = CURDATE();")
(Pdb) n
>/app/worker/echo/apps/opsware_flask_rest_app/opsware_flask_rest_app/
updateEchoResource.py(124)getEchoResource()
-> if row:
(Pdb) n
>/app/worker/echo/apps/opsware_flask_rest_app/opsware_flask_rest_app/
updateEchoResource.py(125)getEchoResource()
-> response =
app.response_class(response=json.dumps(dict(self.cursor.fetchall())),
status=200, mimetype='application/json')
(Pdb) n
ValueError: 'dictionary update sequence element #0 has length 4; 2 is
required'
>/app/worker/echo/apps/opsware_flask_rest_app/opsware_flask_rest_app/
updateEchoResource.py(125)getEchoResource()
行返回 -
('n3pvap168', 'X2Linux_NSS', 'Contact does not exist in Contacts table', datetime.datetime(2017, 7, 21, 4, 27, 37))
【问题讨论】:
-
我们能看到确切的错误轨迹吗?
-
@Wintro 在原始问题中添加了跟踪。
-
你能从
cursor获取一条记录并打印出来给我们看吗? -
打印了一行,请检查问题。 @Wintro
-
你确定这个方法会抛出错误吗?请包含回溯(堆栈跟踪)。