在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
,但我找不到任何关于如何做到这一点的示例。
计算方法必须将计算值分配给字段。如果它使用其他字段(order_ids.name
(的值,则应该使用dependens((指定这些字段。
这里不需要使用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)