Odoo Studio 服务器错误计算字段,错误

Odoo Studio Server Error Computed Fields, Error

我一直收到这个错误,我错过了什么?
我尝试了多种方法,但总是遇到此错误我确定我遗漏了一些简单的东西。
图片 link

中的 Odoo 设置示例图片

from odoo import api
x_studio_field_CKrxZ = fields.Float(compute='compute_product_dimension', store=True)
@api.depends('list_price','standard_price')
def compute_product_dimension(self):
  for record in self:
      record['compute_product_dimension'] = record.list_price + record.standard_price 

Odoo 出错

ValueError: forbidden opcode(s) in "from odoo import api\r\nx_studio_field_CKrxZ = fields.Float(compute='compute_product_dimension', store=True)\r\n@api.depends('list_price','standard_price')\r\ndef compute_product_dimension(self):\r\n  for record in self:\r\n      record['compute_product_dimension'] = record.list_price + record.standard_price \r\n": IMPORT_NAME, IMPORT_FROM

计算字段函数在 Odoo 的 eval 沙盒实现中执行,称为 safe_eval. It forbids certain Python interpreter opcodes to prevent arbitrary code execution. The error you are getting is because the IMPORT_NAME and IMPORT_FROM opcodes are not allowed(由 from odoo import api 语句引起)。

您不需要导入语句、字段声明、@api.depends装饰器或计算函数签名定义,您的计算方法应该如下所示:

for record in self:
    record['x_studio_field_CKrxZ'] = record.list_price + record.standard_price 

而不是 @api.depends('list_price','standard_price'),字段的依赖项应该在 高级属性 下的 Dependencies 字段中声明,您已经如屏幕截图所示。