Django MPTT 常用方法总结
Django mptt 是 Django 的第三方组件。目标是使 Django 项目能够在数据库中存储分层数据(树数据)。主要实现了改进的前序遍历算法。如果你不太了解原理的话可以看我的这篇文章。当然,在使用mptt时,你不需要了解原理,因为具体的实现细节是隐藏的。我们只需要知道如何获取我们需要的数据。给大家分享一下我们日常使用中经常使用的Django MPTT的常用方法:
获取该节点下面的所有节点,包括该节点:
nodelist = sitenode.SiteNode.objects.get(pk=id).get_descendants(include_self=True)
获取该节点下面的所有节点,除了该节点 :
nodelist = sitenode.SiteNode.objects.get(pk=id).get_descendants(include_self=False)
获取该节点之前的所有节点,即祖先类的节点,包括该节点:
nodelist = sitenode.SiteNode.objects.get(pk=id).get_ancestors(include_self=True)
获取该节点之前的所有节点,即祖先类节点,不包括该节点节点:
nodelist = sitenode.SiteNode.objects.get(pk=id).get_ancestors(include_self=False)
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。