2016-08-23 72 views
0

我有一个功能,将数据追加到数组的值:odoo获得最大的数组索引

def _get_state(self, cr, uid, context=None): 
    idemployee = _default_employee(self, cr, uid, context=None) 
    sql = " SELECT C.id AS id, C.sequence, C.name \ 
        FROM wf_group_member A \ 
      LEFT JOIN wf_group B ON B.id = A.group_id \ 
      LEFT JOIN wf_process BB ON BB.id = B.process_id\ 
      LEFT JOIN wf_state C ON C.group_id = B.id \ 
      LEFT JOIN hr_employee D ON D.id = A.member_id \ 
      WHERE LOWER(code) = 'ca' AND member_id = %s ORDER BY sequence " 
    res = [] 
    cr.execute(sql, [(idemployee)]) 
    ardata = cr.fetchall() 
    for data in ardata: 
     res.append((data[1], data[2])) 
    return res 

,然后我试图获得最大的数组索引值:

def _get_maxstate(self, cr, uid, context=None): 
    res = [] 
    arr_state = _get_state(self, cr, uid, context) 
    states = len(arr_state) - 1 
    res = arr_state[0][states] 
    return res 

但是,当我打电话_get_maxstate的操作按钮,它引发错误:

res = arr_state[0][states] 
IndexError: tuple index out of range 

有什么错我的代码,请帮助我

回答

1

statesarr_state最后一个元素的索引。但是,如果您没有将arr_statestates进行索引,请使用0将其索引,然后将结果编入states。您似乎可能只想索引其他方式,即arr_state[states][0]

+0

感谢您的快速回答,我错过了那部分,它由您的答案解决了 – yogakumboro

相关问题