Openerp 在Odoo 10中计算了许多字段相关性

Openerp 在Odoo 10中计算了许多字段相关性,openerp,odoo-10,Openerp,Odoo 10,我正在尝试在sale.order.line模型上创建一个新字段。此字段称为x_all_route_id,用于包含订单行的所有可用stock.location.route 它应该从订单行的_categ_id中查找product_id.route_id和product_id.routes_,并将它们连接到一组路由中 我试图通过OdooUI设置此字段,但得到与我的“依赖项”相关的错误 我将依赖项定义为: product_id, product_id.route_ids, product_id.rout

我正在尝试在sale.order.line模型上创建一个新字段。此字段称为x_all_route_id,用于包含订单行的所有可用stock.location.route

它应该从订单行的_categ_id中查找product_id.route_id和product_id.routes_,并将它们连接到一组路由中

我试图通过OdooUI设置此字段,但得到与我的“依赖项”相关的错误

我将依赖项定义为:

product_id, product_id.route_ids, product_id.routes_from_categ_ids
for record in self:
    record['x_all_route_ids'] = record.product_id.route_ids
我将计算定义为:

product_id, product_id.route_ids, product_id.routes_from_categ_ids
for record in self:
    record['x_all_route_ids'] = record.product_id.route_ids
首先,我只是想让字段显示与
product\u id.route\u id
相同的值,但它不起作用。保存时,会出现以下错误:

Error while validating constraint

Unknown field u'product_id' in dependency u'product_id'

你知道我做错了什么吗?

我能让它正常工作。我认为这个问题只是UI中的一个bug,因为我尝试了很多不同的东西。刷新页面后,以下操作正常:

依赖项=
产品id

字段类型=
many2many

计算方法:

for record in self:
    full = record.product_id.route_ids | record.product_id.route_from_categ_ids
    record['x_all_route_ids'] = full.filtered('sale_selectable')

你能分享一下新计算字段的字段定义和整个计算方法吗?@CZoellner我在下面发布了解决方案。我更愿意获得解决方案的完整代码。作为每天的odoo开发人员,我理解这个答案没有问题,但我怀疑odoo开发初学者会理解它。请添加完整的字段定义和带有标题和正文的最小方法(不必是其背后的完整业务逻辑)。对不起,我不确定您要的是什么。你能澄清一下吗?我是奥多的新手。我通过odooui创建了这个字段,而不是通过XML代码。也许这就是脱节?哦,这就澄清了一切。你在用奥多工作室吗?或者只是“正常”后端功能。只是“设置>技术>字段”下的“正常”后端