I got the following code running recursively migrating data from an old table to 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
The relationships are set correctly but get_ancestors() give wrong information, I have read about updating the parent nodes but I can’t make it work.
OK, just figured out I can simply run
DesignCategory.objects.rebuild()after the recursive function