0

古いテーブルから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() は間違った情報を提供します。親ノードの更新について読みましたが、機能させることができません。

4

1 に答える 1

0

DesignCategory.objects.rebuild()OK、再帰関数の後に単純に実行できることがわかりました

于 2013-02-14T00:43:39.063 に答える