Skip to content

Commit 110c012

Browse files
committed
Bug Fix: Clear parent on bifurcate
1 parent 1466ca9 commit 110c012

File tree

2 files changed

+6
-4
lines changed

2 files changed

+6
-4
lines changed

django_trees/managers.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,11 @@ def _move_node(self, node, new_parent):
2020
self._renumber_source_tree_for_subtree_insertion(new_parent, node)
2121
self._attach_subtree(new_parent, node)
2222

23-
def _bifurcate(self, node_to_sever):
24-
self._move_node(node_to_sever, None)
25-
node = self.get(pk=node_to_sever.pk)
26-
self.filter(_tree_id=node._tree_id).update(_depth=models.F('_depth') - node_to_sever._depth)
23+
def _bifurcate(self, node_to_bifurcate):
24+
self._move_node(node_to_bifurcate, None)
25+
self.filter(pk=node_to_bifurcate.pk).update(_parent=None)
26+
node = self.get(pk=node_to_bifurcate.pk)
27+
self.filter(_tree_id=node._tree_id).update(_depth=models.F('_depth') - node_to_bifurcate._depth)
2728

2829
def _renumber_source_tree_for_node_insertion(self, node):
2930
self.filter(_left__gt=node._left, _tree_id=node._tree_id).update(_left=models.F('_left') + 2)

django_trees/tests/branched_tree_tests.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -502,3 +502,4 @@ def test_move_node_to_an_independent_tree(self):
502502
self.assertTrue(3 == self.nH._depth == self.nI._depth)
503503
self.assertTrue(4 == self.nJ._depth == self.nK._depth == self.nL._depth)
504504
self.assertTrue(5 == self.nM._depth == self.nN._depth == self.nO._depth)
505+
self.assertEqual(None, self.nB.parent)

0 commit comments

Comments
 (0)