我有一个带有many2one字段的模型,允许我创建新的记录,所以我想将在模型A中选择的一个值传递给B模型的浮动创建窗口。
我读过关于使用上下文的文章,但我不确定在这种情况下是否可以使用上下文。
Model A - Feature
Desc >Char
Alternatives > O2M(Alternative,feature_id)
Model B - Alternative
Desc >Char
feature_id >M2O(feature)编辑I:添加模型之间的关系()
我实际上使用了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我可以使用上下文在版本上创建新的标记吗?还是我要用一个相关的字段?
发布于 2017-05-03 17:02:51
若要将值传递给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的字段,当我单击create并编辑任何内容时,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)https://stackoverflow.com/questions/43762526
复制相似问题