如何在django-mptt中将新根节点添加到现有树?我正在使用Django 1.7.4和django-mptt == 0.6.1与FactoryBoy测试树木。我尝试了以下方法:
my_leaf.move_to(my_root, position='left') # creates a new tree
my_leaf.move_to(None, position='this_is_ignored') # also creates a new tree
newroot = factories.MyFactory.build(parent=None, name="NewRoot")
newroot.insert_at(self.my_root, position='left', save=True)
我做的每件事都会创造一棵新树。
答案 0 :(得分:1)
树有一个根节点。如果您尝试添加新的根节点,则表示添加新树。 django-mptt支持拥有一棵树(只创建一个根节点)或整个树林。
您基本上不需要使用.move_to()
,除非您正在做一些非常特殊的事情,比如手动用户排序的节点。只需将父级设置为“无”。我对FactoryBoy了解不多,但创建新根节点的常用方法就是:
MyNode.objects.create(name='NewRoot', parent=None)