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 字段中声明,您已经如屏幕截图所示。
我一直收到这个错误,我错过了什么?
我尝试了多种方法,但总是遇到此错误我确定我遗漏了一些简单的东西。
图片 link
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 字段中声明,您已经如屏幕截图所示。