Python 如何将id和筛选器中的所有列获取到特定列?odoo9
我正在通过Python 如何将id和筛选器中的所有列获取到特定列?odoo9,python,openerp,odoo-9,Python,Openerp,Odoo 9,我正在通过 customer = context.get('partner_id') print customer #output #6 现在我想从res.partner获取所有列的所有值,其中id==6 我想这会给我很多记录集 如何过滤记录集,以便获得要使用的值 或者,如果可能的话,我可以得到特定的列值而不是全部。(那太好了) 如果可能,请告诉我如何在旧api和新api旧api self.pool.get('res.partner').search(cr, uid, [('id', '='
customer = context.get('partner_id')
print customer
#output
#6
现在我想从res.partner
获取所有列的所有值,其中id==6
我想这会给我很多记录集
如何过滤记录集,以便获得要使用的值
或者,如果可能的话,我可以得到特定的列值而不是全部。(那太好了)
如果可能,请告诉我如何在
旧api
和新api
旧api
self.pool.get('res.partner').search(cr, uid, [('id', '=', customer)])
self.env['res.partner'].search([('id', '=', customer)])
这将返回与搜索匹配的id列表,因此您必须调用browse
,才能实际获取记录
新api
self.pool.get('res.partner').search(cr, uid, [('id', '=', customer)])
self.env['res.partner'].search([('id', '=', customer)])
要仅获取一个特定列,而不是所有列,请使用search\u read
方法。它与search非常相似,只是它接受第二个参数,即您感兴趣的属性列表,并返回字典列表而不是记录集。假设我们只对列value
self.env['res.partner'].search_read([('id', '=', customer)], ['value'])
你的结果应该是这样的
[{'id': 1, 'value': 'some value'}, ...]
旧api
self.pool.get('res.partner').search(cr, uid, [('id', '=', customer)])
self.env['res.partner'].search([('id', '=', customer)])
这将返回与搜索匹配的id列表,因此您必须调用browse
,才能实际获取记录
新api
self.pool.get('res.partner').search(cr, uid, [('id', '=', customer)])
self.env['res.partner'].search([('id', '=', customer)])
要仅获取一个特定列,而不是所有列,请使用search\u read
方法。它与search非常相似,只是它接受第二个参数,即您感兴趣的属性列表,并返回字典列表而不是记录集。假设我们只对列value
self.env['res.partner'].search_read([('id', '=', customer)], ['value'])
你的结果应该是这样的
[{'id': 1, 'value': 'some value'}, ...]
有什么方法可以在旧的api中执行
.search\u read
。或者我可以在browse
本身中完成。我正在做c_item=self.pool.get('res.partner').browse(cr,uid,customer,context=None)
我正在做res.partner(6,)
No you can't search read在新的api中引入了odoo 8,你能做的最好的就是c_item=self.pool.get('res.partner')。browse(cr,uid,customer,context=None)。value
起作用,谢谢:)我有什么办法可以在旧的api中执行。search\u read
。或者我可以在browse
本身中完成。我正在做c_item=self.pool.get('res.partner').browse(cr,uid,customer,context=None)
我正在做res.partner(6,)
No you can't search read在新的api中引入了odoo 8,你能做的最好的就是c_item=self.pool.get('res.partner')。browse(cr,uid,customer,context=None)。value
起作用,谢谢:)