通过一个循环遍历数据库列表来创建多个面包屑

时间:2019-03-27 21:22:07

标签: python python-3.x

我正在从数据库中检索格式化为列表的数据, 路径也是一个列表。

id        Type           Path             parent
179       Manu           {179,206,208}     none
68        Connect        {68,111}          none
130       Sources        {130,131}         none
68        Connect        {68,101,105}      none
208       Connector       {208}             206
206       Polster         {206,208}         179
131       Image            {131}            130
105       ManuEq           {105}            101
101       Fi               {101,105}        68
111       Fibo             {111}            68

有类型和子类型。父级都不是的类型。

仅从Top类型开始,我需要创建面包屑(可以是多个)。

示例:

Manu-> Polster-> Connector

因此,我只需要检查父元素为None的元素即可。

面包屑= {}

for el in el_list:
  if parent is None:
     # create/append the breadcrumb_array
     breadcrumbs[id] = [] 
     breadcrumbs[id].append(type) 

   for el in el_list:
     if el.id in el.path:
          breadcrumbs[id].append(type)

这是我的问题,对于每个null,我循环遍历所有列表以查找路径中的元素,当我拥有大量数据时,这会花费一些时间。

因此,考虑到顶部始终始终位于列表的第一位,也许是一个循环的解决方案。

0 个答案:

没有答案