我创建了一个many2one字段来选择表单中的产品。我过滤了可以选择域名的项目:
light_system = fields.Many2one(
'product.product',
string='Lighting System',
ondelete='restrict',
domain=[('categ_id.name', '=','Lighting System')]
)
如果我使用“创建新”直接从此下拉列表中创建新项目,则该类别未设置为“照明系统”,因此当我再次尝试使用该类别时,它将不会显示,从而冒险重复同一项目不同的用户...... 当我选择直接从这个字段创建一个新项目并使用'create new“”'或'create and edit“”'时,是否可以将类别设置为“Lighting System”?
我试过
<field name="light_system"
placeholder="Lighting System"
context="{'default_categ_id':'Lighting System'}"/>
和
<field name="light_system"
placeholder="Lighting System"
context="{'default_categ_id.name':'Lighting System'}"/>
在表单视图中,但都不起作用
答案 0 :(得分:0)
您需要传递类别ID:
<field name="light_system"
placeholder="Lighting System"
context="{'default_categ_id':lighting_id}"/>
如果你把它作为字段填入表单,甚至隐藏
如果您在某个模块的data.xml中创建了类别,则可以使用ref:
<field name="light_system"
placeholder="Lighting System"
context="{'default_categ_id':ref('name_of_the_module.lighting_id')}"/>