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

Hello everyone.

I have a problem obtaining partners using the Odoo webapi. Now the method that I do in my application is doing a bucle of all my ids and, for every id, calling the webapi passing the Id to get the partner.

For example:

for ( i=0; i<partners.length; i++)

     loadPartner(partner(i).id)

In terms of time, this are so slow and heavy (if you have 100 partners, you will do 100 webapi calls). I looked for this in the documentation but I don't see anything about this. So, exists the possibility for get all partners by passing a list of ids? I think that this will be more efficient and fast.

頭像
捨棄

Thank you @Odoo Tools, it worked like a charm :)

最佳答案

To get all (active) partner ids: 

self.env['res.partner']._search([]) #You can add this to your Python method and trigger this from JS using RPC. 

To get partner recordest using IDS: 

self.env['res.partner'].browse(IDS). 


頭像
捨棄
最佳答案

the answer depends on the implementation of loadPartner, can it handle a list of ids?

I assume that `partners` is an array of object.

partner_ids = _.pluck(partners, 'id');
if (partner_ids.length) {
   loadPartner(partner_ids)                            
}

頭像
捨棄
相關帖文 回覆 瀏覽次數 活動
2
7月 25
533
2
7月 25
1004
1
6月 25
758
1
4月 25
956
1
3月 25
1155