Odoo 13 - 计算字段 - 未按预期工作
Odoo 13 - Computed Fields - not working as expected
我有一个模型 ks.register
有一个字段 meter_ids
,它是作为页面添加到 XML 笔记本标签中的计算字段。
计算字段如下:
meter_ids = fields.One2many('ks.meter', string='Meters', compute="_get_register")
下面是该字段的计算方法
def _get_register(self):
ids = {}
if not self.ids:
return meter_ids
query =
cr.execute(query)
meter_records = cr.fetchall()
for i in meter_records:
ids[i[0]] = i[1] if i[1] != [None] else []
return ids
当我转到 ks.register
XML 页面并点击树视图时。我明白了
Something Went Wrong ks.register(569909,).ids
弹出错误
谁能告诉我哪里出了问题?
让我试着帮忙。
您首先在 ks.meter
模型中搜索 link 和 ks.register
[=27= 的记录] 模型?为此,您创建了 One2many
字段。
因此,除了编写查询,您也可以这样做。您可以使用 Many2one
字段在 ks.meter
中搜索
for i in self:
records = self.env['ks.meter'].search([('Many2one_field', '=', i.id)])
getting_ids = [j.id for j in records]
i.meter_ids = [6, 0, getting_ids]
我有一个模型 ks.register
有一个字段 meter_ids
,它是作为页面添加到 XML 笔记本标签中的计算字段。
计算字段如下:
meter_ids = fields.One2many('ks.meter', string='Meters', compute="_get_register")
下面是该字段的计算方法
def _get_register(self):
ids = {}
if not self.ids:
return meter_ids
query =
cr.execute(query)
meter_records = cr.fetchall()
for i in meter_records:
ids[i[0]] = i[1] if i[1] != [None] else []
return ids
当我转到 ks.register
XML 页面并点击树视图时。我明白了
Something Went Wrong ks.register(569909,).ids
弹出错误
谁能告诉我哪里出了问题?
让我试着帮忙。
您首先在 ks.meter
模型中搜索 link 和 ks.register
[=27= 的记录] 模型?为此,您创建了 One2many
字段。
因此,除了编写查询,您也可以这样做。您可以使用 Many2one
字段在 ks.meter
for i in self:
records = self.env['ks.meter'].search([('Many2one_field', '=', i.id)])
getting_ids = [j.id for j in records]
i.meter_ids = [6, 0, getting_ids]