Python 如何在保存到odoo之前获取父级id

Python 如何在保存到odoo之前获取父级id,python,openerp,Python,Openerp,我有三种型号 产品 事件 交易 因此,产品与事件的关系为One2Many,事件与交易的关系为One2Many 我需要将product\u id存储在Transactions中才能创建过滤器,但如果我以前没有保存父产品,则无法创建过滤器 我该怎么做呢?假设交易有多个事件id,事件有多个产品id 您可以使用store=True的相关字段在Transactions中创建多个product\u id,以便能够执行搜索或将其包含在域中 在您的交易中模型: product\u id=fields.man

我有三种型号

  • 产品
  • 事件
  • 交易
因此,
产品
事件
的关系为One2Many,
事件
交易
的关系为One2Many

我需要将
product\u id
存储在
Transactions
中才能创建过滤器,但如果我以前没有保存父
产品
,则无法创建过滤器


我该怎么做呢?

假设
交易
有多个
事件id
事件
有多个
产品id

您可以使用
store=True
的相关字段在
Transactions
中创建多个
product\u id
,以便能够执行搜索或将其包含在域中

在您的
交易中
模型:

product\u id=fields.manyOne(related='event\u id.product\u id',store=True,readonly=True)

您甚至可以使用
iverse\u name='product\u id'

创建一个从产品到
交易的one2many字段,正如我所说,我有一个2任意关系,形式如下:产品>事件>交易和交易必须存储父产品id。如果你有一个2任意从事件到交易,这意味着你可以从交易到事件。对不起,我的错误,你应该使用related='event\u id.product\u id'我编辑了我的答案。确保设置只读以防止用户在事务上编辑产品id您需要的是在其事件的事务中存储产品id吗?