我有一个用PHP ORM Doctrine开发的嵌套集合类别表,我想把它移植到Django应用程序。
我开始将它移植到django-treebeard上,但我遇到了困难,我不确定它是否能工作。原始表具有所需的字段lft、rgt和depth,因此我添加了tree_id字段。
我还有一个外键,指向具有一个树/帐户的帐户。因此,该表包含多个不在公共根下的独立树,每棵树的左列和深度列从1开始。因此,基本上表中的每个帐户都有一个嵌套集合。
我可以很好地向树中添加节点,但是当我调用get_last_child方法时,我会从其他帐户获得节点。
有没有人知道是否有一种方法可以使用treebeard、mptt或任何其他软件包,而不必重新构造树?
发布于 2020-05-01 07:47:23
我取得了一些进展,通过account_id将正确的tree_id添加为序列号,从而修复了查询中的一些问题:
UPDATE category c,
(SELECT id, DENSE_RANK() OVER (ORDER BY account_id) AS seq
FROM category ) tree_rank
SET c.tree_id = tree_rank.seq
WHERE c.id = tree_rank.id;现在正在尝试让管理员正常工作。
https://stackoverflow.com/questions/61533257
复制相似问题