使用 Odoo 开发人员界面使用来自另一个模型的值计算 many2many 字段
Compute many2many field with values from another model using Odoo developer interface
我需要在 Contact 模型中添加一个新字段,用于保存有关相关用户的 Allowed companies 的信息。
现在只有那个用户当前选择的公司的字段(我做记录规则还不够)。
我要从中复制值的字段位于模型 Users 内,它被称为 company_ids
.
我正在尝试在开发者模式中添加此字段(设置 > 技术 > 字段),如下所示:
但是我在使用另一个模型的值填充我的字段的代码时遇到了问题。
for record in self:
record[("x_company_ids")] = env['res.users'].company_ids
我猜 record
指的是 Contact 模型中的一条记录,它不包含来自其他模型的字段,例如 Users 。所以我不知道如何从另一个模型中引用一个字段。
类似于此:env['res.users'].company_ids
?
对我来说更难,因为它是 many2many 字段并且应该在源更改时始终更新。
也许更好的解决方案是使用自动操作将值写入该字段?
我看到了一些这样的帖子:Computed many2many field dependencies in Odoo 10。
但在那些情况下,它们似乎在字段之间有明确的联系,而我没有。当我在联系人模型中时,我不知道如何获得相关用户。我只知道如何使用这种相反的方式(从用户到联系人):user.partner_id.id
在下面给定的代码中,您没有指定您将从中获得 company_ids 的相关用户,您可以直接访问 company_ids
for record in self:
record[("x_company_ids")] = env['res.users'].company_ids
你可以这样写:
for record in self:
record["x_company_ids"] = self.env['res.users'].search([('partner_id','=',record.id)]).company_ids
我需要在 Contact 模型中添加一个新字段,用于保存有关相关用户的 Allowed companies 的信息。
现在只有那个用户当前选择的公司的字段(我做记录规则还不够)。
我要从中复制值的字段位于模型 Users 内,它被称为 company_ids
.
我正在尝试在开发者模式中添加此字段(设置 > 技术 > 字段),如下所示:
但是我在使用另一个模型的值填充我的字段的代码时遇到了问题。
for record in self:
record[("x_company_ids")] = env['res.users'].company_ids
我猜 record
指的是 Contact 模型中的一条记录,它不包含来自其他模型的字段,例如 Users 。所以我不知道如何从另一个模型中引用一个字段。
类似于此:env['res.users'].company_ids
?
对我来说更难,因为它是 many2many 字段并且应该在源更改时始终更新。
也许更好的解决方案是使用自动操作将值写入该字段?
我看到了一些这样的帖子:Computed many2many field dependencies in Odoo 10。
但在那些情况下,它们似乎在字段之间有明确的联系,而我没有。当我在联系人模型中时,我不知道如何获得相关用户。我只知道如何使用这种相反的方式(从用户到联系人):user.partner_id.id
在下面给定的代码中,您没有指定您将从中获得 company_ids 的相关用户,您可以直接访问 company_ids
for record in self:
record[("x_company_ids")] = env['res.users'].company_ids
你可以这样写:
for record in self:
record["x_company_ids"] = self.env['res.users'].search([('partner_id','=',record.id)]).company_ids