跳至內容
選單
此問題已被標幟
1 回覆
7381 瀏覽次數

Hello,

Sorry if this is super basic, I am almost new with python.

So, basically I am passing an ID to a function and I need to get the record just before the one with the ID I am passing from a table.

This is my function

def get_prev_period(self,period_id):
        if period_id:
            period_list = self.pool.get('sim.periods').browse(self.cr, self.uid, period_id)
            current_id = period_list.id
            #Now I need to get the ID just above current_id
        return 0

So, basically I need to get the ID just above the current_id. I am not able to do current_id - 1 because that might no be the case.

Any tips will be much appreciated! Thanks!

頭像
捨棄
最佳答案

You need to execute your manual query on postgres database table,

def get_prev_period(self,period_id):
            if period_id:
               result= self.cr("""SELECT id FROM table_name WHERE id < %s ORDER BY id DESC LIMIT 1""", [period_id])
               result = self.cr.dictfetchall()
               print result # holds the one row data
               current_id = result[0]['id']
            return 0
頭像
捨棄
作者

You are a genius! Thanks!

相關帖文 回覆 瀏覽次數 活動
2
5月 22
10433
1
3月 15
7538
6
6月 17
42080
2
6月 16
3156
3
1月 16
4468