读取继承模型中的 one2many 字段
Read one2many field in inherited model
在odoo v13中,crm.lead
模型被sale_crm
模块继承和修改。
在sale_crm
模块中,继承模型crm.lead
,增加一个one2many
字段,order_ids
。这是与 lead
.
关联的一组销售订单
我正在尝试继承 crm.lead
模型,并创建一个使用 order_ids
字段计算的新字段。
我在清单依赖项中添加了sale_crm
我继承了 crm.lead
模型并尝试连接所有关联 SO 的名称:
class Co7Lead(models.Model):
_inherit = "crm.lead"
so_list = fields.Text(
compute='_get_sos_text',
string="Text list of associated SOs",
help="A comma separated list of SOs associated with this lead")
def _get_sos_text(self):
txt = ""
for order in super(Co7Lead, self).order_ids:
txt += order.name + ""
return txt
不幸的是,这会导致堆栈溢出(哈哈!)
我认为我需要在 order_ids
字段上使用 .browse
,但我找不到任何有关如何执行此操作的示例。
compute method must assign the computed value to the field. If it uses the values of other fields (order_ids.name
), it should specify those fields using depends().
这里不需要使用super
,self
是一个记录集,所以循环遍历它,获取每条记录order_ids
的值。
示例:
@api.depends('order_ids.name')
def _get_sos_text(self):
for lead in self:
lead.so_list = "\n".join(order.name for order in lead.order_ids)
在odoo v13中,crm.lead
模型被sale_crm
模块继承和修改。
在sale_crm
模块中,继承模型crm.lead
,增加一个one2many
字段,order_ids
。这是与 lead
.
我正在尝试继承 crm.lead
模型,并创建一个使用 order_ids
字段计算的新字段。
我在清单依赖项中添加了
sale_crm
我继承了
crm.lead
模型并尝试连接所有关联 SO 的名称:class Co7Lead(models.Model): _inherit = "crm.lead" so_list = fields.Text( compute='_get_sos_text', string="Text list of associated SOs", help="A comma separated list of SOs associated with this lead") def _get_sos_text(self): txt = "" for order in super(Co7Lead, self).order_ids: txt += order.name + "" return txt
不幸的是,这会导致堆栈溢出(哈哈!)
我认为我需要在 order_ids
字段上使用 .browse
,但我找不到任何有关如何执行此操作的示例。
compute method must assign the computed value to the field. If it uses the values of other fields (order_ids.name
), it should specify those fields using depends().
这里不需要使用super
,self
是一个记录集,所以循环遍历它,获取每条记录order_ids
的值。
示例:
@api.depends('order_ids.name')
def _get_sos_text(self):
for lead in self:
lead.so_list = "\n".join(order.name for order in lead.order_ids)