Я пытаюсь запустить оператор выбора в гаечном ключе, который возвращает несколько строк и помещает этот результат в формат json.
Вот код:
def fetchmessages(self, pushid):
rc = ResultCode.SUCCESS
messages = ""
def selectmessages(transaction):
messages = transaction.execute_update(
"SELECT Message.message_text FROM Message LEFT JOIN MessageStatus "
"ON (Message.message_id = MessageStatus.message_id) WHERE "
"MessageStatus.push_id = @id",
params={'id' : (pushid)},
param_types={'id' : param_types.STRING}
)
try:
self.client.run_in_transaction(selectmessages)
except Exception as fetchexception:
rc = ResultCode.ERR_NO_MSG_FOUND
self.logger.debug(fetchexception)
pass
if ResultCode.SUCCESS:
output = "{ 'pushid':'" + pushid + "', 'messages':" + messages + ", 'resultcode':" + str(rc.value) + "}"
return output
Вызывающая функция просто запускает вывод через jsonify и распечатывает его. Вышеприведенный код распечатывается:
"{ 'pushid':'cdd92f4ce847efa5c7f', 'messages':, 'resultcode':1}"
Я хочу напечатать что-то вроде этого:
"{ 'pushid':'cdd92f4ce847efa5c7f', 'Messages': [{'message': 'foo bar'}, { 'message': 'core dump'}], 'resultcode': 1}"
Как я могу это сделать?