Python 从Odoo 8中的另一个模型调用方法
我正在ir_model的“x_custom_model”中创建一个自定义模型,在ir_model_字段中有自己的自定义字段“x_field_name”。 同时,我还生成了一个视图,它使用这个模型和那些字段。 在这个视图中,我生成了一个按钮,当单击该按钮时,必须在已经存在的模型中调用一个方法“my_method”“my_model_name” 我在当前使用“x_自定义_模型”时尝试访问此方法。 问题在于无法调用该方法。任何帮助或提示都将不胜感激 1) 我尝试将方法名称作为name属性的值指定为:Python 从Odoo 8中的另一个模型调用方法,python,methods,code-generation,odoo-8,Python,Methods,Code Generation,Odoo 8,我正在ir_model的“x_custom_model”中创建一个自定义模型,在ir_model_字段中有自己的自定义字段“x_field_name”。 同时,我还生成了一个视图,它使用这个模型和那些字段。 在这个视图中,我生成了一个按钮,当单击该按钮时,必须在已经存在的模型中调用一个方法“my_method”“my_model_name” 我在当前使用“x_自定义_模型”时尝试访问此方法。 问题在于无法调用该方法。任何帮助或提示都将不胜感激 1) 我尝试将方法名称作为name属性的值指定为:
#Button attributes
<button name="my_method" type="object"/>
Error: x_custom_model had no attribute called "my_method"
按钮属性
错误:x_自定义_模型没有名为“my_方法”的属性
2) 通过服务器操作(调用我的方法):
设置->操作->服务器操作
- 动作名称:调用我的方法
- 基本模型:x_自定义_模型李>
- 要执行的操作:执行Python代码
print "Am I getting here?"
action = {"my_model_name".my_method}
#Button attributes
<button name="Call_My_Method" type="action"/>
打印“我到了吗?”
动作={“我的模型名称”。我的方法}
#按钮属性
什么也没发生,连指纹都没有
我目前一直在讨论这个问题,似乎找不到太多有用的信息,因此我们非常感谢您的帮助。默认情况下
<button name="my_method" type="object"/>
您不能简单地从当前按钮调用另一个对象my_方法
。您需要在当前的x\u custom\u model
对象中定义一个自定义方法,并让它通过创建该对象的实例来调用另一个对象方法
例如:
谢谢你的回复,我已经通过服务器操作解决了这个问题。我必须定义服务器操作的id,而不是我在示例中使用的名称“Call_My_method”。
<field name="model">x.custom.model</field>
self.pool.get('other.object').my_method(cr, uid, arg, context=context)