Openerp 如何在XML视图上引用ODOOV10域中的子模型

Openerp 如何在XML视图上引用ODOOV10域中的子模型,openerp,Openerp,我正在尝试为sale.order.line向Odoo字段添加域。具体来说,我试图确保唯一可供选择的路线是与订单行相关的产品同名的路线。以下是我的尝试: 以下是sale.order.line上的route\u id的原始开箱即用字段定义: <field name="route_id" groups="sale_stock.group_route_so_lines"> 有人知道将此域添加到视图的正确方法吗?你说得对,product\u id是一个id而不是一个记录,因此在域求值期间链

我正在尝试为
sale.order.line
向Odoo字段添加域。具体来说,我试图确保唯一可供选择的路线是与订单行相关的产品同名的路线。以下是我的尝试:

以下是
sale.order.line
上的
route\u id
的原始开箱即用字段定义:

 <field name="route_id" groups="sale_stock.group_route_so_lines">

有人知道将此域添加到视图的正确方法吗?

你说得对,
product\u id
是一个id而不是一个记录,因此在域求值期间链调用将不起作用。为了正确计算域,视图中必须存在域中使用的值字段

要实现这一点,您可以向
sale.order.line
模型添加一个,指向
产品id.name

来自openerp导入字段、模型的

类别SaleOrderLine(models.Model):
_inherit='sale.order.line'
product_name=fields.Char(
相关=“产品id.name”,
string='Product Name',
store=True,
)
然后,在视图的XML定义中,需要将
product\u name
字段添加到视图中,以便在域内使用它。您可以将
不可见
属性设置为
1
,以便不在表单中显示它。现在该字段可以在域中使用:


你说得对,
产品id
是一个id而不是一个记录,因此在域求值期间链调用将不起作用。为了正确计算域,视图中必须存在域中使用的值字段

要实现这一点,您可以向
sale.order.line
模型添加一个,指向
产品id.name

来自openerp导入字段、模型的

类别SaleOrderLine(models.Model):
_inherit='sale.order.line'
product_name=fields.Char(
相关=“产品id.name”,
string='Product Name',
store=True,
)
然后,在视图的XML定义中,需要将
product\u name
字段添加到视图中,以便在域内使用它。您可以将
不可见
属性设置为
1
,以便不在表单中显示它。现在该字段可以在域中使用:


<field name="route_id" groups="sale_stock.group_route_so_lines" domain="[('name', '=', product_id.name)]"/>
Uncaught Error: AttributeError: object has no attribute 'name'