Odoo 在记录字段中同时使用ref和active_id
在Odoo 在记录字段中同时使用ref和active_id,odoo,odoo-12,odoo-13,Odoo,Odoo 12,Odoo 13,在xml中,我想在为模型ir.actions.act\u窗口定义record时,同时使用active\u id和ref作为context字段的值。但我只能使用一个,如下面的代码片段所示: 方法1。仅将ref与eval一起使用: 名称 ... 方法2。仅使用活动\u id: 名称 ... {'search\u default\u employee\u id':活动\u id} 当我尝试在方法1中使用active\u id时。或者在方法2中包含ref。上面我收到一条错误消息,在第一种情况下,
xml
中,我想在为模型ir.actions.act\u窗口定义record
时,同时使用active\u id
和ref
作为context
字段的值。但我只能使用一个,如下面的代码片段所示:
方法1。仅将ref
与eval
一起使用:
名称
...
方法2。仅使用活动\u id
:
名称
...
{'search\u default\u employee\u id':活动\u id}
当我尝试在方法1中使用active\u id
时。或者在方法2中包含ref
。上面我收到一条错误消息,在第一种情况下,active\u id
未定义,在第二种情况下,ref
未定义
我想要实现的是能够同时使用ref
方法和active\u id
变量。如下所示:
名称
...
名称
...
{'some_key':ref('module_name.ext_id'),'search_default_employee_id':active_id}
从v12开始,Odoo支持调用模型方法来评估字段值。我们可以利用这种技术在上下文中同时使用ref
方法和active\u id
变量,如下所示
在所需的任何模型中定义方法,如下所示
来自odoo导入模型、api的
从odoo.tools.misc导入unquote
类SomeClass(models.Model):
_inherit='some_module.model.name'
@api.model
def_使用_ref_和_active_id(自身):
ref=self.env.ref
活动\u id=unquote(“活动\u id”)
返回{
'using_ref':ref('external.identifier').id,
“搜索\u默认\u任何\u筛选器\u名称”:[active\u id],
“默认\u字段\u名称”:活动\u id
}
然后在xml
中访问此方法,如下所示:
文件夹
...