python - Odoo 13 - 计算字段 - 未按预期工作
问题描述
我有一个模型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
模型中搜索与模型链接的记录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]
推荐阅读
- sql - SQL INNER JOIN 显示特定值
- javascript - JavaScript 中的数学表达式计算
- flutter - 从 Flutter 中的 PageRoute 弹出时在父屏幕中设置状态栏颜色
- php - 修改字符串的第一次和第二次出现和重置
- python - 如何计算按相同特定属性分组的两个卷中两个单元格之间的日期时间差异?
- javascript - 嵌套循环是否总是在最后一次迭代后重置?
- image - 图像塑造问题:三维图像
- angular - Homestead .htaccess 使用 Angular 7 重写规则
- bash - 如何将sha1sum总和与文件进行比较
- c# - 从应用程序和程序中删除注册表项