我发现一个id 633的有问题的节点。
tree.find_problems()
([], [], [], [633], [35, 9, 50, 291, 464])在运行tree.fix_tree()之后,不会发现任何问题。
tree.find_problems()
([], [], [], [], [])但实际上,633还处于某种状态。
>>> node633.depth
0
>>> node633.path
''问题:节点633深度为0,这意味着它不是根,但它也没有父节点。路也是空的。
这意味着我的代码将尝试从没有父节点的节点中找到父节点。
再次运行fix_tree不会修复它。移动node633也不是一种选择,因为:
treebeard.exceptions.InvalidMoveToDescendant: Can't move node to a descendant.更多信息:
django-treebeard==4.3
Django==2.2.1我没有手动编辑路径和深度。
问题:,我如何修复这个坏了的node633?
发布于 2021-12-15 13:38:41
我想我没别的办法就把它删除了。我跑了:
node633.delete()
tree.find_problems()
([], [], [], [], [])发现问题仍然是快乐的。
它的不是理想的解决方案,但任何更好的解决方案都是受欢迎的。
https://stackoverflow.com/questions/70362214
复制相似问题