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
模型是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