在Odoo 15中自动添加多个用户作为关注者



我创建了一个自定义模块,在该模块中,您可以在many2many字段中链接多个联系人,我想自动将它们全部添加为追随者。我读过这篇文章:

自动操作添加用户作为追随者Odoo 12

添加追随者很好,但只有当字段中有ONE用户或合作伙伴时。在我的安装中,这些字段有很多。当我在其中一个字段中添加多个用户或合作伙伴时,代码会崩溃。

当我想在其中一个字段中添加超过1个联系人或用户时,是否需要更改此代码中的某些内容?

我的自动化操作中有以下python代码:

record.message_subscribe(partner_ids=[record.field1.id, record.field2.partner_id.id, record.field3.partner_id.id])

field1=合作伙伴

field2&field3=用户

感谢您的帮助!

当有多条记录时,不能使用.id来获取记录的id,必须使用返回记录id列表的.ids。所以你的代码必须改成:

field1_ids = record.field1.ids
field2_ids = record.field2.mapped('partner_id').ids
field3_ids = record.field3.mapped('partner_id').ids
record.message_subscribe(partner_ids=field1_ids+field2_ids+field3_ids)

因此,代码的主要问题是,您试图访问记录可能是多个的字段(如many2many(,但在Odoo ORM中,您不能这样做,它总是会为多个记录提供Expected Singletone错误。

最新更新