下面是一些常见的Odoo中使用context参数的例子:
- 在视图中设置默认值:
- <field name="field_name" context="{'default_field_name': 'default_value'}"/>
上述代码将在创建新记录时将field_name字段的默认值设置为default_value。
- 在视图中设置过滤条件:
- <field name="field_name" context="{'search_default_field_name': 'filter_value'}"/>
上述代码将在打开搜索视图时,将field_name字段的默认过滤条件设置为filter_value。
- 在动作中传递上下文:
- action = self.env.ref('module_name.action_name').read()[0]
- action['context'] = {'key': 'value'}
上述代码将在执行动作时将上下文参数key设置为value。
- 在模型方法中使用上下文:
- @api.model
- def my_method(self):
- ctx = self.env.context
- # 使用上下文参数进行逻辑处理
上述代码将在模型方法中获取当前上下文,并根据上下文参数进行逻辑处理。
- 在模型字段中使用上下文:
- field_name = fields.Char(context="{'key': 'value'}")
上述代码将在模型字段中设置上下文参数key为value。
- 在视图中根据上下文条件显示字段:
- <field name="field_name" attrs="{'invisible': [('key', '=', 'value')]}"/>
上述代码将根据上下文参数key的值是否等于value来决定是否显示field_name字段。
以上是一些常见的Odoo中使用context参数的例子。context参数非常灵活,你可以根据具体的需求在不同的场景中使用它来实现各种逻辑和功能。