我有一个名为action_list的按钮,它被放置在XML文件中并且正常工作。我想要的是我想从我的表中获取数据,如task_name和按钮单击时的持续时间,这应该显示在一个新的向导中,其中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',
}
答案 0 :(得分:0)
您可以通过2种方式执行此操作
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. /在您的向导中,您将获得' active_ids',使用此功能可以直接在向导中获得结果。 active_ids将使用与您尝试使用的按钮单击事件中传递的ID相同的ID。以下行将在向导中使用。
current_ids =context.get('active_ids',False)