Odoo 8 새로운 API 설명서를 읽었지만 찾을 수 없습니다 (있는 경우). 그 모델 ID/ID가있을 때 새로운 API로 레코드/레코드를 직접 검색하는 방법은 무엇입니까?Odoo 8 - 레코드가 새 API와 동일한 기능을 수행합니까?
예를 들어 res.partner
모델을 찾아보고 id : ids = [1, 2, 3]
목록을 갖고 싶다고 가정 해 보겠습니다.
,이 같은 그것을 할 수 :
partners = self.pool.get('res.partner').browse(cr, uid, ids)
새로운 API를, 내가 생각할 수있는 유일한 방법은,이 레코드를 반환으로 (기존 API를 같이하지 IDS) 검색을 사용하는 것이 었습니다 이 같은 :
partners = self.env['res.partner'].search([('id', 'in', ids)])
이 같은 결과를 제공하지만, 내가 (단지 기록을 찾아 볼 필요가, 당신은 이미 ID를 알고있을 때, 검색을 사용하지 않도록하기 위해) (가 동일?) 편리 성과에 대해 궁금하네요 ?
또는 레코드를 탐색해야 할 때 새 API에서 검색을 사용하는 것이 좋습니다.
덕분에, :) 직접적 새로운 API로 구현 된 생각하지 않았다. 예, 일반적으로 찾아 볼 필요는 없지만 일부 오래된 메서드를 처리 할 때 때때로 레코드 세트 대신 ID를 얻습니다. 따라서 이미 알고있는 것을 검색하는 대신 탐색하는 것이 더 편리합니다. – Andrius
자동 번역 레이어가 있습니다. 새 API를 사용하여 정의 된 모든 메소드는 이전 API (cr, uid, context, ... arguments)를 사용하여 호출 할 수 있으며 이전 API를 사용하여 정의 된 이전 메소드는 새 API를 사용하여 호출 할 수 있습니다 (명시 적 cr, uid , 컨텍스트, ... 인수). 따라서 새로운 API에 대해 특정 메소드가 재 작성되었는지 여부는 중요하지 않습니다 (실제로'browse'가 재 작성되었습니다). 새 API를 사용하여 동일하게 호출 할 수 있습니다. –
그래, 알아. 나는 레코드 세트가 아닌 ID를 반환하는 메서드에 대해 이야기하고있었습니다. 예를 들어, 일반적인 메소드'get_external_id()'는 새로운 API를 사용하여 호출 한 경우에도 레코드 id가'key'이고 외부 id가'value' 인 사전을 리턴합니다. – Andrius