2016-08-23 105 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

相關問題