Django MPTT,以递归方式添加子节点,给出错误的get_ancestors()结果

时间:2013-02-14 00:36:34

标签: django recursion mptt

我得到以下代码,以递归方式将数据从旧表迁移到MPTT

def traverse_design_idea(parent_id=1, parent=None):
    for _cat in OldTablefilter(parent=parent_id):
        cat = DesignCategory(name=_cat.category, old_id=_cat.sbt_id, parent=parent)
        cat.save()
        traverse_design_idea(_cat.sbt_id, cat)   
traverse_design_idea()

cat = DesignCategory.objects.get(pk=100)
cat.get_ancestors() //give wrong parents

关系设置正确但是get_ancestors()提供了错误的信息,我已经阅读了有关更新父节点但我无法使其工作的信息。

1 个答案:

答案 0 :(得分:0)

好的,只是想通了我可以在递归函数

之后运行DesignCategory.objects.rebuild()