Openerp XML上下文默认为odoo9中的One2many
我对这个xml规范(odoo 9)有一个问题: 变量“groups\u ref”与res.groups之间有很多关系Openerp XML上下文默认为odoo9中的One2many,openerp,odoo-9,Openerp,Odoo 9,我对这个xml规范(odoo 9)有一个问题: 变量“groups\u ref”与res.groups之间有很多关系 .... {'groups\u ref':self.env.ref('security.basic\u user')} .... 来自模块安全性的XML基本用户 基本用户 这给了我一个错误: NameError:未定义self 我的问题是如何使用这个xml定义将默认值传递给One2many关系,我不想通过py中的字段声明传递它。谢谢。上下文中传递组的通用语法 <fi
....
{'groups\u ref':self.env.ref('security.basic\u user')}
....
来自模块安全性的XML基本用户
基本用户
这给了我一个错误:
NameError:未定义self
我的问题是如何使用这个xml定义将默认值传递给One2many关系,我不想通过py中的字段声明传递它。谢谢。上下文中传递组的通用语法
<field name="context">{'default_groups_ref': ['module_name.register_group_xml_id_1', 'module_name.register_group_xml_id_2',]}</field>
{'default\u groups\u ref':['module\u name.register\u group\u xml\u id\u 1','module\u name.register\u group\u xml\u id\u 2',]}
请尝试使用以下代码:
<record id="some_id" model="ir.actions.act_window">
....
<field name="context">{'default_groups_ref': ['security.basic_user']}</field>
....
</record>
....
{'default_groups_ref':['security.basic_user']}
....
在xml中如果要为需要python表达式的字段定义值,则需要使用eval
:
假设数据库中有一条xmlid=“record_id”的记录,那么在xml文件中,要定义该记录的多个字段的值:
<field name="m2o_field_name" ref="record_id"/>
or
<field name="m2o_field_name" eval="ref('record_id')"/>
或
所以在你的情况下,试试这个,因为我以前从未尝试过:
<field name="context" eval="{'default_groups_ref':[(4,ref('security.basic_user'))]}" />
注意:对于默认值,您需要在字段名称前加前缀
<默认值>
python控制台错误:
res=self.\u obj.execute(查询,参数)
DataError:输入的sintax对于int类型无效:«security.basic\u user»第10行:其中“res\u groups.id IN”(“security.basic\u user”)代码>可以用基本用户xml记录更新您的问题。记录创建可能有问题。我们可以在字段中使用ref吗?因为“此错误是由于字符串“security.basic_user”不是整数。查询“res_groups”.id所在的位置(“security.basic_user”)需要整数。他不能执行那个查询,他需要像(1,2)中的WHERE“res_groups”.id这样的东西。是的,我们可以使用它。您可以参考这些,使用ref('security.base\u user')
怎么样?
<field name="m2o_field_name" ref="record_id"/>
or
<field name="m2o_field_name" eval="ref('record_id')"/>
<field name="context" eval="{'default_groups_ref':[(4,ref('security.basic_user'))]}" />