根据odoo中的Many2one字段的值更改One2many字段

时间:2019-07-30 09:57:36

标签: python odoo odoo-12

我有一个One2many字段,该字段取决于表单中Many2one字段的值。 One2many字段的相关模型取决于Many2one字段的值。

i_name = fields.Many2one('mod.items',string="Item")
i_fields = fields.One2many('mod.x_fields','field_name',string="Item Characteristics")

此处,“ mod.x_fields”(型号名称)应根据i_name字段值而有所不同。有可能建立这样一个领域吗?可以使用api.onchange完成此操作吗?

2 个答案:

答案 0 :(得分:0)

是的,您可以将@ api.onchange放入mod.x_fields模型中,并根据您的父模型访问权限(如self.field_name.i_name)更新字段

答案 1 :(得分:0)

这是我必须要做的。我必须将参考字段用于i_name并提供模型名称作为选择选项。如here所示。尽管此答案与我想要的(问题)不同,但这是我得到的最接近的答案。

i_name = fields.Reference(selection='_referencable_models',string='Item')

 @api.model
 def _referencable_models(self):
     return [('mod.item1_fields', 'Item 1'),('mod.item2_fields','Item 2'),...]