问题标签 [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.
mysql - MPTT 的扩展效率低吗?
我正在使用严重依赖于修改的预排序遍历树的 CakePHP ACL。我们一直担心它们是多么容易扩展。
显然,随着越来越多的行需要更新它们的列lft
和rght
列,插入将很快变得昂贵。
我认为有两件事我认为是正确的:
- UPDATE 查询本身不会有太大的权重,因为无论数据库大小如何,它们都将保持不变。
- 数据库对实际文件系统的读/写操作显然开始变得越来越昂贵。
有什么我错过的吗?事情是因为这个和其他一些事情,我们真的在考虑迁移到 NoSQL DB。害怕在 Cake 上这样做,因为这意味着使用非标准数据源。
django - Django - Grappelli、mptt 和排序字段的问题
我正在使用 Grappelli 管理员,因为它具有出色的可排序字段功能。但是,我似乎无法让它与 mptt 一起使用。这是我的代码:
这是我的管理员:
最后这是我的模板:
问题是,如果我class Item(models.Model):
在我的模型中使用管理功能就好了,可排序和所有,但我的模板失败了,说
类型对象“MenuItems”没有属性“_mptt_meta”
当我使用所有东西时,class MenuItems(MPTTModel):
一切都变了;我的模板工作正常,但我无法在我的管理员中订购字段(“位置”编号更改,但没有别的,它仍然按原始顺序列出项目。
所以,我想知道是否有人知道是否有可能让这两个东西一起工作,还是我只需要尝试找到另一种方法......
谢谢!
python - Django中的冲突MPTTModel和TransMeta
我的 django 模型有问题。
这是我的模型:
我试图在一个模型中合作两件事:TransMeta 和 MPTTModel。当我尝试运行它时,出现错误:
TypeError:调用元类基类时出错元类冲突:派生类的元类必须是其所有基类的元类的(非严格)子类
我在 google 中找到了类似的解决方案:http: //code.activestate.com/recipes/204197-solving-the-metaclass-conflict/并像这样更改了我的代码:
classmaker 在哪里是这个代码http://code.activestate.com/recipes/204197-solving-the-metaclass-conflict/#block-0。但是翻译不起作用。当我尝试获取 model.name 时出现错误:
mysql - 多个用户同时编辑树?
我有一个像分层类别一样的树,我需要将其保存在数据库中。我使用 MPTT(嵌套集)来保存这些数据。
问题是这个类别需要由多个用户编辑,有时是同时编辑。
如何保持结构的完整性,而又不对用户施加过多的限制?
鉴于 MPTT 的性质,当改变结构中的一个元素时,它也会影响其他元素(改变左/右值)。
例如。用户 A 删除 Node1,用户 B 在 Node1 下添加 Leaf1。这应该给用户 B 一个错误,即 Node1 不再存在,但我相信它只会给用户 B 造成混乱......
这个问题有什么实际的解决方案吗?
java - 如何将修改后的先序树遍历数据填充到 Java 树对象中?
我有一个MPTT结构的下表:
在CakePHP中,我可以创建以下数据结构:
问题是如何使用Java树类在Java中填充MPTT数据结构。是的,我知道Java不能像PHP那样拥有动态数组,在Java中你必须使用类Model。
我的模型类如下所示:
我觉得这很混乱,我不知道该怎么做。来自数据库的数据被填充到Java树对象中。我不知道该怎么做,我不知道如何完全填充它。我正在使用Vivin 的 GenericTree Java 类
我想我需要数据查询策略,是否需要递归函数来从数据库中检索所有数据?我认为这需要两个步骤:1.查询数据,2.将所有数据填充到树对象。
django - Django模型继承使用mptt
我正在构建一个具有嵌套树分类的模型。词汇表Entity
继承自抽象基类TreeVocabulary
。还有一个类SpecialEntity
,它继承自Entity
. SpecialEntity
里面应该有几个额外的字段。
Entity
并且SpecialEntity
都应该是树,为此我使用 mptt http://django-mptt.github.com/django-mptt/。其中Entity
应该有一个记录,其中有子SpecialEntity
元素(这些子元素是 中的根元素SpecialEntity
)。
这就是我的想象:
现在,问题是由于某种原因SpecialEntity
转义了 mptt:sqlall
显示了一个没有其中的普通表parent_id
。虽然它存在于 中Entity
,但它直接继承自TreeVocabulary
.
它是 django-mptt 中的错误吗?或者也许这是一个糟糕的设计?我不是要求为我设计它,而是指出正确的方向
提前致谢!
python - Django MPTT:按深度过滤?
我想知道关于 django-mptt 的事情,因为我正在考虑将它用于工程协调项目。
我将有一个模型类(例如“接口”),在树中具有模型的外键(例如“位置”)。
我能否通过它们所指的位置的深度来过滤接口?深度是父母的数量。
我还不知道如何组织我的数据,这就是我问的原因。我正在考虑使用 django-mptt(与部署时循环创建的模型相反,每个模型对应于一个树级别),但我害怕它会在某个时候阻止我并迫使我审查我的整个项目。
python - Django MPTT 订购
我在我的 Django 项目中使用 MPTT 树结构来组织评论。我只有 2 个级别:评论和评论评论 除了排序之外,一切都完美无缺。
我想按创建日期升序(“-creation_date”)对所有没有父级的评论和所有按创建日期后裔(“creation_date”)有父级的评论进行排序。基本上就像评论在 Facebook 墙上工作一样。(您总是会在顶部看到最新评论,但评论中的评论顺序相反)
在我的课堂评论中,我有以下 MPTTMeta : order_insertion_by=['creation_date']
我希望我能得到一些帮助。
谢谢
sql - 即使深度在 3 - 4 左右,MPTT 对于维护类似数据库的树是否是一种过度杀伤力?
我打算在 MySQL 中存储一些类似树的数据。
主题可以有子主题,而它们又可以有更多的子主题。
即使最大深度在 3 - 4 左右,修改的预序树遍历 (MPTT) 是否也会过度杀伤?
python - 修改前序树遍历到 Python 结构
嗨,我正在尝试将 Modified-Preorder-Tree-Traversal 表示为 Python 结构,然后我可以输出到 json,因为我当前的目标是在jstree中显示树
假设我有一个如图所示的表 http://imrannazar.com/Modified-Preorder-Tree-Traversal(在我的情况下,每一行也有一个 parent_id),就像这样
jstree 的 Json 格式就像
如何将上表转换为 Python 格式以输出此 json。
我想过以某种方式使用嵌套字典,如下所示
不确定我需要的算法。
非常感谢任何帮助。
谢谢