Openerp 按钮单击事件..Odoo8

Openerp 按钮单击事件..Odoo8,openerp,Openerp,我有一个名为action_list的按钮,它放在XML文件中,工作正常。我想要的是,我想要从我的表中获取数据,比如单击按钮时的任务名称和持续时间,这应该显示在一个新向导中,其中target=new。我正在尝试下面的代码。请在任何情况下指导我 def action_list(self,cr,uid,ids,context=None): cr.execute("SELECT task_name, duration FROM activity_track WHERE id =%s",ids)

我有一个名为action_list的按钮,它放在XML文件中,工作正常。我想要的是,我想要从我的表中获取数据,比如单击按钮时的任务名称和持续时间,这应该显示在一个新向导中,其中target=new。我正在尝试下面的代码。请在任何情况下指导我

def action_list(self,cr,uid,ids,context=None):

    cr.execute("SELECT task_name, duration FROM activity_track WHERE id =%s",ids)

    result= map(lambda x: x[0], cr.fetchall())


    return {

      'type':'ir.actions.act_window',

      'view_mode':'tree,form',

      'view_type':'tree',

      'domain':'[]',

      'nodestroy': True,

       'target': 'new',

      'res_model':'activity.track',

        }

你可以通过两种方式来做到这一点

1./您可以在上下文中传递“结果”,然后在操作中传递该上下文以及其他参数,如域、目标。然后,您可以在向导中从上下文变量获取该值

 def action_list(self,cr,uid,ids,context=None):

    cr.execute("SELECT task_name, duration FROM activity_track WHERE id =%s",ids)

    result= map(lambda x: x[0], cr.fetchall())

    context.update({myresult':result})

    return {

      'type':'ir.actions.act_window',

      'view_mode':'tree,form',

      'view_type':'tree',

      'domain':'[]',

      'nodestroy': True,

      'context':context,

       'target': 'new',

      'res_model':'activity.track',


        }
2./在您的向导中,您可以获得“活动\u ID”,使用它,您可以直接在向导中获得结果。活动\u ID将与您尝试使用的按钮单击事件中传递的ID相同。向导中将使用以下行


current\u id=context.get('active\u id',False)

谢谢Hardik这是评论吗上下文:上下文,你是说写这个?update({myresult:'result'})感谢againHardik。我终于得到了一个向导..但是..这个向导向我显示了当前输入值的列表视图。表中已经有了值。我想显示和获取这些值并在前端显示?ThanksI应该在Odoo的前端显示一个表,显示所有值。。。下面的代码显示了我当前输入值的列表视图。谢谢这听起来很混乱,我不知道您想要在向导上显示哪些值。您需要做的是,一旦在向导代码中获得“活动\u id”,您就可以执行与在按钮的单击事件中所做的相同的操作。您可以执行在单击按钮中执行的相同查询。问题是你只需要在这里进行处理,而不是点击按钮。要执行此操作,请尝试查找向导定义了“default\u get”方法的示例。用这种方法你必须进行手术。我告诉你。。我的数据库有一个名为activity\u track的表。。通过这个表,我想在前端以列表的形式获取所有值。就像在格式上,我们有类似于Microsoft word的表格显示在前端。。。