目的: 形成二级联动数据
#返回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})