如何将所有列从 id 和 filter 获取到特定列?奥多9
How to get all the columns from id and filter to specific column? odoo9
我正在通过
获取客户的 ID
customer = context.get('partner_id')
print customer
#output
#6
现在我想从 res.partner
中获取所有列的所有值,其中 id == 6
我想这会给我很多记录集
我如何过滤记录集以便获得我想要使用的值。
或者,如果可能的话,我能否获取特定列的值而不是全部。 (那就太好了)
如果可能,请告诉我如何在 old_api
和 new_api
中完成
旧api
self.pool.get('res.partner').search(cr, uid, [('id', '=', customer)])
这将 return 匹配搜索的 ID 列表,因此您必须调用 browse
才能实际获取记录
新建api
self.env['res.partner'].search([('id', '=', customer)])
只获取特定列,而不是所有列使用 search_read
方法它与搜索非常相似,只是它需要第二个参数,它是您感兴趣的属性列表,它returns 是字典列表而不是记录集。所以假设我们只对 value
列感兴趣
self.env['res.partner'].search_read([('id', '=', customer)], ['value'])
你的结果应该是这样的
[{'id': 1, 'value': 'some value'}, ...]
我正在通过
获取客户的 IDcustomer = context.get('partner_id')
print customer
#output
#6
现在我想从 res.partner
中获取所有列的所有值,其中 id == 6
我想这会给我很多记录集
我如何过滤记录集以便获得我想要使用的值。
或者,如果可能的话,我能否获取特定列的值而不是全部。 (那就太好了)
如果可能,请告诉我如何在 old_api
和 new_api
旧api
self.pool.get('res.partner').search(cr, uid, [('id', '=', customer)])
这将 return 匹配搜索的 ID 列表,因此您必须调用 browse
才能实际获取记录
新建api
self.env['res.partner'].search([('id', '=', customer)])
只获取特定列,而不是所有列使用 search_read
方法它与搜索非常相似,只是它需要第二个参数,它是您感兴趣的属性列表,它returns 是字典列表而不是记录集。所以假设我们只对 value
self.env['res.partner'].search_read([('id', '=', customer)], ['value'])
你的结果应该是这样的
[{'id': 1, 'value': 'some value'}, ...]