{1>从一个名为cdm>的结构中检索到一个名为{1}的结构的页面。在
每个页面条目都有一个parentKey属性,即db.SelfReferenceProperty()
和一个名为sortIndex的db.IntegerProperty()
。在
我获取列表并调用一个方法来遍历该列表,并生成一个嵌套dict作为我的树。我获取整个列表的原因是我想跳过多个查询。在
pages = Pages.gql('ORDER BY sortIndex').fetch(1000)
build_tree(pages)
以及构建树:
^{pr2}$问题是列表get被重新排列了,而且没有遵循det ORDER BY。我认为这是因为每一页都被放在列表中,当找到合适的家长。但即使是第一级(具有parentKey == None
的页面)get也以错误的顺序返回。在
我尝试过在tree[str(I)+'\'+str(key)]上使用循环计数器设置前缀,但仍然没有按正确的顺序返回。在
所以问题是如何让它们按正确的顺序排列?在
编辑[已解决]:
见下文
为了保持作为参数发送的列表的顺序来构建树,我移到了一个不同的角度。我用list代替,顺序保持不变:
相关问题 更多 >
编程相关推荐