读取继承模型中的任意一个字段



在odoo v13中,crm.lead模型由sale_crm模块继承和修改。

sale_crm模块中,继承了模型crm.lead,并添加了one2many字段order_ids。这是一个与lead关联的销售订单数组。

我正在尝试继承crm.lead模型,并创建一个使用order_ids字段计算的新字段。

  1. 我在清单依赖项中添加了sale_crm

  2. 我继承了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((指定这些字段。

这里不需要使用superself是一个记录集,所以循环使用它来访问每个记录的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)

相关内容

  • 没有找到相关文章