通过视图给字段中的字段赋值,是通过contex上下文传递字段的默认值的,视图中context要在action中才有上下传递,传递给具体的视图
给视图中的字段赋值分为两种情况:
一种是给主表视图中的字段赋值
另一种是给many2many,many2one等关系型字段值中的子表字段赋值
先说给主表中的字段赋值的情况,由于视图级别默认值只能通过上下文的传递,把默认值传给页面中的字段,所以,就需要定义在action中的context中,具体示例如下:
<record id='xxx视图id' model='ir.actions.act_window'>
<field name="context">{'default_category':'service'}</field>
</record>
context中的参数第一个为目标字段default_ + 字段名称, 第二个参数为要传入的默认值
如果是给子表视图中的字段传递默认值,则是需要写在视图字段中,原因是关系字段会调用模型对应的action.具体示例如下:
<field name="关系字段" context="{'default_字段名': 默认值(可以是主表中的字段,页面能够直接获取主表的值)}">
<tree>
视图定义
</tree>
<form>
视图定义
</form>
</field>
注意:如果是子表视图中传递默认值,值可以使用主表中的字段值,用法是值直接写主表中的字段