采用左右值编码来存储无限分级树形结构

  

参考文档:https://blog.csdn.net/comiunknown/article/details/1586020


python实现:

得到app.cmdb.config  import  dbconfig,, cmdbsql,, modelconfig, balantsql   得到app.cmdb.utils.dbutil  import  MysqlConnect      时间=balant_connect  MysqlConnect (db_params=dbconfig.balant_db_params_sit)=#,cmdb_connect  MysqlConnect (db_params=dbconfig.cmdb_db_params)         class  CatalogTemplate(对象):      ,,,def  __init__ (tag_id,自我,还以为;catalog_id):   ,,,,,,,,,,   ,,,,,,,:param  tag_id:,基准节点   ,,,,,,,:param  catalog_id:,基准目录   ,,,,,,,,,,   ,,,,,,,self.tag_id =tag_id   ,,,,,,,self.catalog_id =catalog_id   ,,,,,,,(self.lft, self.rht),=, self.get_lft_rht ()      ,,,def  get_tag(自我):   ,,,,,,,,,,   ,,,,,,,获取节点id   ,,,,,,,::返回,0,或id   ,,,,,,,,,,   ,,,,,,,试一试:   ,,,,,,,,,,,catalog_tag_id =, balant_connect.query_execute (   ,,,,,,,,,,,,,,,,,,,“““select  id 得到mon_catalog_tag  where  tag_id =, % d 以及catalog_id =, % d"““, %, (self.tag_id, self.catalog_id))   ,,,,,,,,,,,if  catalog_tag_id:   ,,,,,,,,,,,,,,,return  catalog_tag_id [0] [0]   ,,,,,,,,,,,其他的:   ,,,,,,,,,,,,,,,return  0   ,,,,,,,除了:   ,,,,,,,,,,,return  0      ,,,def  get_lft_rht(自我):   ,,,,,,,,,,   ,,,,,,,获取该节点的左右id   ,,,,,,,:返回:列表[融通,rht]   ,,,,,,,,,,   ,,,,,,,试一试:   ,,,,,,,,,,,if  self.get_tag ():   ,,,,,,,,,,,,,,,result =, balant_connect.query_execute (“““select 融通,rht 得到mon_catalog_tag   ,,,,,,,,,,,,,,,where  tag_id =, % d 以及catalog_id =, % d  limit  1“““, %, (self.tag_id, self.catalog_id))   ,,,,,,,,,,,,,,,return 结果[0]   ,,,,,,,,,,,其他的:   ,,,,,,,,,,,,,,,return  0, 0   ,,,,,,,except  Exception  as  e:   ,,,,,,,,,,,raise 例外(“记录不存在,info  % s", %, e)      ,,,def  get_layer(自我):   ,,,,,,,,,,   ,,,,,,,获取节点层级   ,,,,,,,::返回,层数   ,,,,,,,,,,   ,,,,,,,试一试:   ,,,,,,,,,,,if  self.get_tag ():   ,,,,,,,,,,,,,,,result =, balant_connect.query_execute (“““select  count(*),得到mon_catalog_tag  where  lft  & lt;=, & # 39; % d # 39;,以及rht 祝辞=,   ,,,% d 以及catalog_id =, % d"““, %, (self.lft, self.rht,, self.catalog_id))   ,,,,,,,,,,,,,,,return 结果[0][0]   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

采用左右值编码来存储无限分级树形结构