目的: 形成二級聯動數據
#返回json形式的二級數據
{
"code": 0,
"msg": "success",
"data": {
"192.168.1.82": {
"val": "192.168.1.82",
"item": {
"018201": {
"val": "018201"
}
}
},
"192.168.1.150": {
"val": "192.168.1.150",
"item": {
"018201": {
"val": "018201"
}
}
},
"192.168.1.192": {
"val": "192.168.1.192",
"item": {
"001601": {
"val": "001601"
}
}
},
"192.168.1.134": {
"val": "192.168.1.134",
"item": {
"015001": {
"val": "015001"
}
}
}
}
}
過程: 思路:將值查詢出來後,拆分組裝
# get方法獲取數據
def get(self):
#獲取前端的access_token
access_token = self.get_argument('access_token')
# 解密
res_data = deal_decode_jwt(access_token, self.settings['secret_key'])
if type(res_data) == dict:
#查詢
with session_maker() as session:
door_data = session.query(BCler.CrName,
BDr.DrName).filter(BDr.CIndex ==
BCler.CIndex).filter(
BDr.DAddress == 1).all()
data = {} # 存放二級形式的數據
for d in door_data:
# 自拼接字典形式數據
door_res = {d[0]: {'val': d[0], 'item': {d[1]: {'val': d[1]}}}}
# update更新字典
data.update(door_res)
# 返回最終結果
self.write({'code': 0, 'msg': 'success', 'data': data})
else:
#輸出錯誤信息
self.write({'code': 0, 'msg': '獲取數據出錯', 'data': res_data})