我通过
获得了客户的身份customer = context.get('partner_id')
print customer
#output
#6
现在我想从res.partner
获取id == 6
这将给我很多记录集我猜
如何过滤记录集,以便获得我想要使用的值。
或者如果有可能我可以获得特定的列值而不是全部。 (那会很棒)
如果可能,请告诉我如何在old_api
和new_api
答案 0 :(得分:3)
旧api
self.pool.get('res.partner').search(cr, uid, [('id', '=', customer)])
这会返回与搜索匹配的ID列表,因此您必须调用browse
来实际获取记录
新api
self.env['res.partner'].search([('id', '=', customer)])
只获取特定列,而不是所有列都使用search_read
方法,它非常类似于仅搜索它需要第二个参数,这是您所属属性的列表感兴趣的是它返回一个字典列表而不是记录集。所以我们说我们只对列value
self.env['res.partner'].search_read([('id', '=', customer)], ['value'])
你的结果应该是这样的
[{'id': 1, 'value': 'some value'}, ...]