Odoo 13-计算字段-未按预期工作



我有一个模型ks.register有一个字段meter_ids,它是作为Page添加到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.registerXML页面并点击树视图时。我看到

Something Went Wrong ks.register(569909,).ids弹出错误。

有人能告诉我出了什么问题吗?

让我来帮忙。

您是第一个在ks.meter模型中搜索与ks.register模式链接的记录吗?为此,您创建了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]

相关内容

  • 没有找到相关文章

最新更新