问题标签 [django-mptt]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2456 浏览

python - 使用 django mptt 的问题

我在实现 django mptt 时遇到问题。

这是我的模型:

所以我正在研究的是如何将财务作为一个孩子添加到公司。我尝试mptt.register(Financials, parent = Company)了这当然会给我错误。

所以 mytree 结构将是:

谢谢

0 投票
1 回答
2399 浏览

python - 我如何使用 django mptt?

我有一个模型:

那么我怎样才能在 mptt 树结构中添加Financials一个孩子呢?Company

0 投票
1 回答
1983 浏览

django - Django MPTT - 树过滤

我正在使用 MPTT 的模板标签来呈现我的流派树。

问题是,我的genre对象具有is_visible应该受到尊重的属性。

实现这一目标的最聪明、最干净的方法是什么?


附加信息

我需要正确生成 (X)HTML 列表嵌套。我已经定义了用于继承可见性检查的 SQL 函数。

并尝试覆盖full_tree_for_model标记以使其使用自定义管理器,这只是is_genre_branch_visible(genre_id)向 QuerySet 添加了额外的内容。但是订购出了点问题,无法真正弄清楚。

它有效,但我不喜欢这种方法,对我来说感觉很丑。

0 投票
3 回答
2879 浏览

django - 您将如何对 django mptt 树进行排序?

想象一下,我有一个对象及其人口的 mptt 树,例如:

动物,60

  • 土豚,30
  • 山猫,20
  • 花栗鼠,10

蔬菜,6

  • 苹果,1
  • 甜菜,2
  • 花椰菜,3

矿物 0

您将如何按每个子级别的人口对上述内容进行排序?我想去:

动物,60

  • 土豚,30
  • 山猫,20
  • 花栗鼠,10

蔬菜,6

  • 花椰菜,3
  • 甜菜,2
  • 苹果,1

矿物 0

我正在 django 中构建 mptt。

0 投票
1 回答
394 浏览

sql - SQL查询,以避免在用户折叠部分嵌套集时获取整个嵌套集

我试图通过提供比管理员中的平面列表更友好的东西来将 django-mptt 和 contrib.admin 联系在一起。因为树应该很大(否则我不会使用嵌套集),用户应该能够展开和折叠它的一部分。

当用户展开或折叠或展开一个分支(使用 ajax)时,还会设置一个 cookie,其中包含一个逗号分隔的折叠分支列表。这样,下次这个用户访问我的 django-mptt 驱动模型的管理员时,我可以向他展示他离开它的确切状态的树。现在我想使用这个折叠分支列表来通过只获取树的需要部分来减轻我的数据库的负担。

有没有办法有效地做到这一点?我用谷歌搜索的解决方案是对每个分支进行查询,这样他们就可以避免在分支折叠时进行查询,但这对我来说看起来不是很有效。也许有固定数量的查询是可能的?

0 投票
1 回答
1640 浏览

django-mptt - 如何获得 django-mptt 树中的最后一个孩子?

我想访问 django-mptt 树的最新对象。

是否可以从 django 模板执行此操作?

0 投票
1 回答
296 浏览

django - 如何在 django 中构建查询集以检索用户发布的线程?

我正在使用 django-mptt 制作一个线程论坛应用程序。一切都已启动并正在运行,但我无法构建一个特定的查询集。

我想检索以下帖子:

  1. 是根节点
  2. 由 current_user 发布有 current_user 发布的后代。

我到目前为止是这样的:

在我的第二个 QI 中,需要一些东西来判断 current_user 是否发布了它的后代之一。有谁知道这是否可能?

0 投票
1 回答
2524 浏览

django - Django-mptt 完全错误还是我做错了?

我正在尝试使用django-mptt,但运气不佳。这是 svn 最新的 Python2.5、windows、sqlite3、Django 1.2pre、django-mptt。

编码:

模型:

设置:

这应该创建一棵树,每个非叶节点都有一个根和两个子节点。

现在乐趣开始了:

为什么很多祖宗都错了?例如,节点 10 应该有祖先,(0,1,10)

我做错了什么还是 django-mptt 中有错误?

0 投票
2 回答
1012 浏览

django - 在 django-mptt 中执行以下操作时我的错误是什么?

我有一个类别树,其中包含与该类别相关的 Items 条目。所以这是我的模型文件:

我使用 ManyToManyField 是因为每个项目都可以属于多个类别。

现在,在我的应用程序中安装“mptt”之后。我正在外壳中尝试以下操作:

它应该返回一棵树,并在每个节点上加载属于一个节点的项目数。如文档中所述,这似乎是 django-mptt 的标准功能。

但是,我得到一个错误。以下是痕迹:

http://pastebin.com/m69ed1937

在 Ubuntu 9.1 中使用 SVN django-mptt 和 django 1.1。

0 投票
1 回答
5073 浏览

django - 在 django-MPTT 中重新排序子节点

我正在使用 Ben Firshman 的django-MPTT 分支(Daniel Roseman建议)。

我一直试图重新排序共享一个共同父节点的节点。我有一个主键列表,如下所示:

所有这些节点都有一个父节点,比如主键 1。

目前,这些节点是有序的[5, 3, 9, 7],我怎样才能将它们重新排序[5, 9, 7, 3]

我试过这样的事情:

根据 上的文档move_to,我希望做我想做的事,但它似乎并没有改变任何东西。有时它似乎将第一项移入ids其父项的第一个子项,有时则不然。

我在阅读文档中是否正确地move_to调用move_to了一个节点和一个目标,该目标是一个兄弟节点n,将立即移动到目标之后?position=rightnn

有可能我在试图弄清楚这一点时搞砸了我的模型表,所以也许上面的代码实际上是正确的。也有可能有一种更优雅的方式来执行此操作(可能不涉及O(n)选择和O(n)更新)。

我误解了什么吗?

额外的问题:有没有办法强制 django-MPTT 为给定模型的所有实例重建lft和赋值?rght