0

如何将新的根节点添加到 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) 

我所做的一切都会创建一棵新树。

4

1 回答 1

1

一棵树有一个根节点。如果您尝试添加新的根节点,则意味着添加新树。django-mptt 支持拥有一棵树(只创建一个根节点)或一整棵树。

你基本上不需要使用.move_to(),除非你正在做一些非常特别的事情,比如手动用户订购的节点。只需将父级设置为无。我对 FactoryBoy 了解不多,但创建新根节点的常用方法是:

MyNode.objects.create(name='NewRoot', parent=None)
于 2015-02-12T19:01:16.907 回答