openerp中的父左和父右

2024-03-01

什么是父左和父右?

它是如何运作的Openerp?

Thanks


正如拉斐尔·科莱 (Raphael Collet) 所解释的那样他关于 OpenERP Server 的回答 https://answers.launchpad.net/openobject-server/+question/186704:

Parent_left 和 Parent_right 是与以下相关的特殊字段 Parent_id 字段。这些字段的目的是进行查询 在层次结构内有效执行:使用parent_left和 Parent_right,您可以检索节点的所有后代,而无需 进行递归查询。

考虑层次结构中的两个节点 A 和 B。 A和B可以成为合伙人 例如,类别。他们的整数字段parent_left和 Parent_right 是这样的:

    B is a descendant of A in the hierarchy (defined by parent_id)

当且仅当

    A.parent_left < B.parent_left and
    A.parent_left < B.parent_right and 
    B.parent_left < A.parent_right and
    B.parent_right < A.parent_right

因此,假设您有如下六个合作伙​​伴类别。你可以 通过遍历树来分配parent_left和parent_right。结果 显示在每个节点旁边的括号中。请注意那里的值 是最优的;实际上,您可以在数字中留出间隙。

  • Customers (1, 10)
    • 消费者 (2, 3)
    • Partners (4, 9)
      • 基本伙伴 (5, 6)
      • 黄金合作伙伴 (7, 8)
  • 供应商 (11, 12)

您可以使用单个 SQL 检索 Customers 的所有子类别 询问。请注意,值 1 和 10 是parent_left 和 客户的家长权利;它们可以作为查询的一部分被检索 本身。

    SELECT id FROM partner_category
    WHERE parent_left > 1 AND parent_left < 10

最后备注的是parent_left和parent_right可以更新 无需遍历整个层次结构。删除节点不会 需要任何改变。要添加节点,您可以调整parent_left 和parent_right有两个更新查询:一个是“腾出一些空间” 在新节点祖先的parent_left和parent_right之间, 一个用于移动新节点的parent_left和parent_right 跟随兄弟姐妹及其后代。所以parent_left和 可以有效地维护parent_right。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

openerp中的父左和父右 的相关文章

  • Odoo 11 在同一模型的两个不同区域添加不同的操作菜单

    在 Odoo 11 中 我想要两个具有两种不同功能的不同操作菜单 在人力资源工资单中 我想添加电子邮件工资单链接 这就是为什么我使用此代码添加电子邮件工资单操作菜单
  • Excel 中的 Odoo 图像

    我正在使用 xlsxwriter 创建一个 excel 文件 需要将我的公司徽标放入这些 excel 文件中 我一直在尝试使用 insert image 但没有成功 我想这就像将partner image解析到缓冲区中一样 但我卡住了 请帮
  • 在 odoo 中添加 Many2many 字段后“关系已存在”

    我定义了以下两个 odoo ORM 模型 class Weekday models Model name ludwik offers weekday name fields Char class Duration models Model
  • 达到虚拟实时时间限制(178/120秒)

    我使用的是ubuntu 16版本并运行Odoo erp系统12 0版本 在我的应用程序日志文件中 我看到信息显示 已达到虚拟实时时间限制 178 120 秒 它到底意味着什么以及它会对我的应用程序造成什么损害 另外我如何增加虚拟实时限制 它
  • openerp:ubuntu 上的内部服务器错误

    我刚刚在我的系统中安装了新的 OpenERP 8 0 替换了 Ubuntu 12 04 上现有的 OpenERP 7 0 我已经在家里的 Ubuntu 笔记本电脑上下载了这个 它运行得很好 并且想在我的办公室服务器上做同样的事情 我采取的步
  • 如何将外部 jQuery 插件添加到 Odoo 上的列表视图?

    我正在使用 Odoo 10e 我想将 jquery 插件集成到我的模块中 我想集成 jQuery 插件jquery 可调整大小的列 https github com dobtco jquery resizable columns 它很简单
  • 如何覆盖odoo new api中字段的默认函数

    我有一个调用函数来获取默认值的字段 在模块project forecast中 def default user id self return self env user if default user id not in self env
  • 在弹出窗口中显示要删除的项目

    我正在使用 Odoo 10e 我想要一个简单的功能 每当我想从列表视图或仅从特定列表视图中删除一个或多个项目时 我想显示所有选择删除的项目 以在弹出窗口中显示其名称 以便用户可以快速查看他要删除的内容 我知道用户可以在列表视图中查看详细信息
  • 在 PyCharm 中运行 odoo 项目

    让我的脚接触 PyCharm 我有一个项目 它是 Odoo 14 模块 PyCharm 已为我的项目建立索引 它指示错误 警告和拼写错误 好的 现在我想运行我的 Odoo 来看看我的项目做了什么 我假设我应该通过 GUI 中的某个按钮来执行
  • openerp中的父左和父右

    什么是父左和父右 它是如何运作的Openerp Thanks 正如拉斐尔 科莱 Raphael Collet 所解释的那样他关于 OpenERP Server 的回答 https answers launchpad net openobje
  • 如何在 Odoo 12 中使用 Python XML-RPC 注册付款

    首先我创建了这个函数 def invoiceRegisterPayment self register payment row confirm result self ODOO OBJECT execute kw self DATA sel
  • Odoo 14:在树视图中添加部分功能

    I need add a section functionality like sales gt quotation view has in one of my tree views 我的代码view是这样的
  • 如何在odoo 10中添加、更新和删除Many2many字段记录?

    我正在向导中设置功能 该功能将执行以下操作 添加新记录并链接到当前现有记录Many2many Field 更新现有记录Many2many Field 删除当前已有的Many2many场地 向导模型和实际模型有两个Many2many fiel
  • act_window 中的 openerp 上下文

    在 OpenERP 6 1 中 这个 act window
  • 如何在 odoo 8 中导入 QOH

    我想通过 odoo 前端或使用后端 postgres 查询 更新 odoo 中的库存 我的股票价值保存在 csv 文件中 最后 我想批量更新现有数量 终于解决了 按照步骤操作即可 步骤1 1 gt 在仓库模块中选择产品 在列表视图中打开 2
  • 如何将OpenERP 5.0升级到6.0

    我安装了 OpenERP 5 0 其中包含一些自定义模块 我希望将其升级到 OpenERP 6 0 我对这种软件有一些经验 并且检查过OpenERP 遗憾的是 我没有 OpenERP 的实际经验 我喜欢寻求一些帮助以避免错误 在研究这个问题
  • 如何从计算函数内部更新其他字段或其他模型?

    有3个班级 sync test subject a与有很多关系sync test subject b继承自sync test subject c sync test subject b s separated chars字段通过称为的计算函
  • Javascript - 对父母调用 super 父母?

    我在 Odoo 中定义了当前自定义 javascript 视图的扩展 openerp account move journal test function instance var t instance web t lt instance
  • API 使用令牌向 odoo 进行身份验证

    我想使用令牌从 Express 应用程序向 Odoo 进行身份验证 我在用odoo xmlrpc https www npmjs com package odoo xmlrpc连接 Odoo 的节点模块 我的快递应用程序 Odoo 要求 A
  • Odoo:如何覆盖原始功能

    在 Odoo 中 每次打开产品表单时都会计算产品的数量 这发生在模型中product product gt function product available 该函数返回一个名为 res 的字典 Example res 8 qty ava

随机推荐