如何在 Odoo 中呈现表单视图模型的 Many2one 字段?

Posted

技术标签:

【中文标题】如何在 Odoo 中呈现表单视图模型的 Many2one 字段?【英文标题】:How to render in form view model's Many2one's field field in Odoo? 【发布时间】:2017-05-31 11:31:53 【问题描述】:

假设我有

class A(models.Model):    
    _name = "A"
    field_a = fields.Many2one('B')


class B(models.Model):
    _name = "B"
    field_b = fields.Char()

在模型为 A 的表单上,我需要渲染 field_b。我试过这样:

<field name="field_a.field_b" /> 

但没有运气

这样做的正确方法是什么?

【问题讨论】:

你能用你正在使用的特定库来更新你的问题吗? 没有库,只有 Odoo 正确的语法是&lt;field name="field_a"/&gt; 它为 field_a 呈现下拉菜单,而我需要该 field_a 的 field_b 【参考方案1】:

为了在当前视图中显示来自 m2o 的字段,请创建一个相关字段。

class A(models.Model):    
    _name = "A"
    field_a = fields.Many2one('B')
    field_b = fields.Char(related='field_a.field_b')


class B(models.Model):
    _name = "B"
    field_b = fields.Char()

现在在模型 A 视图中,您可以:

 <field name="field_b" /> 

【讨论】:

有一个非常 small reference in the documentation 展示了一个真实世界的例子,这也可能会有所帮助。

以上是关于如何在 Odoo 中呈现表单视图模型的 Many2one 字段?的主要内容,如果未能解决你的问题,请参考以下文章

Odoo:如何显示 one2many 字段中的 many2one 字段的字段

如何将值从字段传递给 Odoo 13 中的向导?

odoo many2one或many2many字段动态domain的两种方法

Odoo12: 列表视图禁止打开表单内容

禁用在Odoo中的看板列视图上拖动和排序功能

Odoo 11.从xml导入many2one