Odoo v14:如何在创建 child 时获得 parent 值?

Odoo v14: how can I get parent value in the creation of child?

模型是product.category想继承加一个字段level添加层级,找到我要的层级记录

我们知道默认情况下(按照建议)第一个条目 *All* 应该出现以启动 parent child 关系。

当用户创建了一个新分类select All作为它的parent,我们知道它的等级是1,我们可以加2 ,以编程方式它应该是 parent_level + 1 ...所以我们可以添加任何深度的级别。

我不知道如何编码,所以请帮助我实现下面的 onchange 函数(或任何其他更好的方法,请说明),guide/modify它来实现我想要的。

@api.onchange(parent_id):
def _onchange_parent_id(self):
  find the level of parent here...
  self.level = parent_level + 1

不确定我是否正确理解了你的问题,但如果你只是想为你的类别设置一个级别并提供父字段名称是 parent_id:

level = fields.Integer('Level', compute='_compute_level')

@api.depends('parent_id')
def _compute_level(self):
    for record in self:
        record.level = (record.parent_id.level or 0) + 1