先查看关键代码:
def regular_dep1(dep_list,depid):
"""
传入的数据 格式 符合BOOTSTAP JSON 格式
:param dep_list:
:return:返回一个符合 bootstrap数据要求的数组
"""
result = {'text': '1', 'nodes': []}
for it in dep_list:
if it['id'] == depid:
result['text'] = it['name']
for item in dep_list:
if item['parentid'] == depid:
"""用来判断有没子部门"""
obj = {'text': item['name'], 'nodes': []}
for item2 in dep_list:
"""对子部门元素进行递归 查询出子部门"""
if item2['parentid'] == item['id']:
obj['nodes'].append(regular_dep1(dep_list, item2['id'])) # 这里注意看清楚传入的参数 是对应子元素的ID
result['nodes'].append(obj)
"""最后返回JSON 格式字符串的字典"""
return result
要求:有些前端数据 传入的格式类似 这种{'text':'parentName','nodes':['test':'nodeName','nodes':[....]]} 格式的数据可以使用上面的方法
dep_list : 从数据库中查询出来的 带有 id 与parentid 的结构数据