【发布时间】:2015-08-04 16:20:24
【问题描述】:
我正在尝试链接来自 Odoo 中不同类的字段。 它应该类似于外键。
这是我的情况: 有 2 个类有自己的树视图。
第 1 类:opc_taginstellingen:
class opc_taginstellingen(models.Model):
_name = 'opc_taginstellingen'
Tagnaam = fields.Char(string="Tagnaam")
Unit = fields.Char(string="Unit")
第 2 类:opc_actuelewaardentags
class opc_actuelewaardentags(models.Model):
_name = 'opc_actuelewaardentags'
TagNaam = fields.Char(string="Tagnaam")
TagWaarde = fields.Integer(string="Tagwaarde")
我现在想做的是:
在 opc_actuelewaardentags 中,从 opc_taginstellingen 获取 Unit,其中 TagNaam (opc_actuelewaardentags) == Tagnaam (opc_actuelewaardentags)。
然后我希望能够在 opc_actuelewaardentags 的树视图中显示 Unit。但我想这不会是一个问题。
还要注意 Tagnaam 和 TagNaam 的区别。
到目前为止我尝试过的:
我一直在玩关系字段,many2one's、one2many 和 many2many。还不能让它工作...
这是我在 opc_actuelewaardentags 类中添加的,但没有用:
Unit1 = fields.Many2one('opc_taginstellingen', string="Unit1")
Unit1 = fields.Related('Unit', type="Many2One", relation="opc_taginstellingen", string="Unit1")
Unit1 = fields.Char(related='opc_taginstellingen.Unit', store=True)
编辑:在 BSL Technologies 发表评论后,我已将所有内容更改为小写,因此这不会是问题。
没有错误。但是 unit 的值不会显示在 opc_actuelewaardentags 的树视图中。标题确实如此。
这是我现在的代码:
class opc_taginstellingen(models.Model):
_name = 'opc_taginstellingen'
tagnaam = fields.Char(string="Tagnaam")
unit = fields.Char(string="unit")
class opc_actuelewaardentags(models.Model):
_name = 'opc_actuelewaardentags'
tagnaam = fields.Char(string="Tagnaam")
opc_tag = fields.Many2one('opc_taginstellingen', string="unit")
unit = fields.Char(related='opc_tag.unit',string="unit")
还有什么不可行的原因吗?
【问题讨论】:
标签: python many-to-many one-to-many odoo many-to-one