2015-04-27 36 views
1

我在ir_model “x_custom_model”中创建了一个具有ir_model_fields中的自定义字段“x_field_name”的自定义模型。 同时我也在生成一个视图,它使用这个模型和这些字段。 在此视图中,我生成一个按钮,单击它时,必须在已有模型“my_model_name”中调用方法“my_method”从Odoo 8的另一个模型调用方法

我试图在“x_custom_model”中工作时访问此方法。 这个问题存在于没有得到所谓的方法。任何帮助或建议,将不胜感激

1)我试着给方法名作为名称属性为值:

#Button attributes 
<button name="my_method" type="object"/> 

Error: x_custom_model had no attribute called "my_method" 

2通过服务器操作(Call_My_Method)): 设置 - >操作 - >服务器操作。

  • Action Name:Call_My_Method。
  • 基本型号:x_custom_model。
  • 要采取的措施:执行Python代码。

Python代码:

print "Am I getting here?" 
action = {"my_model_name".my_method} 

#Button attributes 
<button name="Call_My_Method" type="action"/> 

没有任何反应,甚至没有打印。

我目前被困在这个问题上,我似乎没有找到关于它的很多有用的信息,所以任何帮助将不胜感激。

回答

2

默认情况下,

<button name="my_method" type="object"/> 

将调用my_method在表格视图的当前对象。你定义了对象表单视图像

<field name="model">x.custom.model</field> 

你不能简单地从当前的按钮来调用其他对象my_method。您需要在当前的对象中定义自定义方法,并通过为该对象创建实例来调用其他对象方法。

如:

self.pool.get('other.object').my_method(cr, uid, arg, context=context) 
+0

感谢您的回复,我已经使用了服务器操作解决它。我必须将

相关问题