0

我想要做的是可以非常简单地使用C++. 这个想法是这样的,我有一个对象,它被称为Node. 该节点将具有几个特征:

  1. 它通过父母和孩子连接到其他节点。
  2. 可以移植,可以移植,意思就是我可以拿这个Node,贴到我想放的任何地方,可以是另外一棵树,也可以用这个Node来完全开始一棵新的树。

此外,这意味着您可以使用节点创建一棵完整的树。理想情况下,树将是具有一个中央最大祖父节点的节点集合。

但是,一个节点可以有两个甚至更多的父节点。

4

2 回答 2

2

这很容易实现,但在性能方面我不推荐它:

class YourModel(models.Model):
    parent = models.ForeignKey('YourModel', related_name='children')

    def siblings(self):
        return self.objects.filter(parent=self.parent_id).exclude(pk=self.pk)

用法:

some_child = YourModel.objects.get(...)
siblings = some_child.siblings()
parent = some_child.parent()
children = parent.children.all()

问题是真的,你想做什么?

于 2013-07-09T13:32:41.680 回答
0

我建议您检查提供分层分类管理系统的第三方django-categories 。您可以创建节点并将其粘贴到其他人以创建树(具有父子关系)

于 2013-07-09T14:00:05.090 回答