我有一个带有 Many2one 字段的模型,它允许我创建新记录,因此我想将模型 A 中选择的值之一传递到模型 B 的浮动创建窗口。
我正在阅读有关使用上下文的内容,但我不确定在这种情况下是否可以使用它。
Model A - Feature
Desc >Char
Alternatives > O2M(Alternative,feature_id)
Model B - Alternative
Desc >Char
feature_id >M2O(feature)
编辑我:添加模型之间的关系
我实际上使用了4个模型,版本,功能,替代品和标签,我想为我拥有的每个功能创建一个版本,一个功能有替代品,每个替代品都有标签
在我想要选择该功能的版本中,然后可以添加与该功能的替代方案相关的标签。
**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 的值时,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)