在 odoo 9 中的屏幕之间传递一个值

Pass a value beetween screens in odoo 9

我有一个带有 many2one 字段的模型,它允许我创建新记录,所以我想将模型 A 中编辑的值之一 select 传递给 window 的浮动创建型号 B.

我正在阅读有关使用上下文的信息,但我不确定在这种情况下是否可以使用它。

Model A - Feature
Desc         >Char
Alternatives > O2M(Alternative,feature_id) 

Model B - Alternative
Desc         >Char
feature_id   >M2O(feature)

编辑 I:添加模型之间的关系

我实际上使用了 4 个模型、版本、功能、替代品和标签,我想为我拥有的每个功能创建一个版本,一个功能有替代品,每个替代品都有标签

在我想要select该功能的版本中,然后可以添加与该功能的备选方案相关的标签。

**version**
feature_id      m2o>feature
desc            char
tag_ids         o2m>tag,alternative_id

**tag** 
caption         char
alternative_id  m2o>alternative

**alternative**
desc            char
feature_id      m2o>feature
tag_ids         o2m>tag,alternative_id

**feature**
desc            char
alternative_ids o2m>alternative,feature_id

我可以使用上下文在版本上创建新标签吗?或者我必须使用相关字段?

将值传递给m2o字段的形式:

   <field name="m2o_field_name" context="{'default_field_name': field_name}"/>

示例:

  <field name="partner_id" context="{'default_email': company_email}" />

在我的模型中有一个 m2o partner_id 和一个名为 company_email 的字段,当我单击创建和编辑时 company_email 的值将被传递到电子邮件字段合作伙伴表格。

您可以像 'default_name': 'charif' 一样传递静态值,或者您可以像这样传递名为 field_example 的字段的值 'default_name': field_example

编辑:

version -->  feature    <--- alternative  <---  tags

好的,首先您需要创建从标签到功能的 m2o:

    # don't forget store=True so you can create a o2m 
    feature_id = fields.Many2one(related='alternative_id.feature_id', store=True, readonly=true)

现在创建一个从特征到标签的 o2m。

    tag_ids = fields.One2many('tag.model.name', 'feature_id', 'Tags')

在这里您可以创建从版本到功能标签的相关字段。

    tag_ids = fields.One2many(related='feature_id.tag_ids', readonly=true)