From 7ccc7f388f788cabc11692fd2a14dc8a050c0f07 Mon Sep 17 00:00:00 2001 From: Vo Minh Thu Date: Wed, 5 Oct 2011 12:51:03 +0200 Subject: [PATCH] [IMP] fields.reference: two loops one loop. bzr revid: vmt@openerp.com-20111005105103-cutnuvfkgsjej3vc --- openerp/osv/fields.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/openerp/osv/fields.py b/openerp/osv/fields.py index a358e20a2bf..aae6e4a2539 100644 --- a/openerp/osv/fields.py +++ b/openerp/osv/fields.py @@ -164,14 +164,13 @@ class reference(_column): def get(self, cr, obj, ids, name, uid=None, context=None, values=None): result = {} # copy initial values fetched previously. - for row in values: - result[row['id']] = row[name] - # verify target object exists - for id, value in result.iteritems(): - if value: - model, res_id = value.split(',') - if not obj.pool.get(model).exists(cr, uid, [int(res_id)], context=context): - result[id] = False + for value in values: + if value[name]: + model, res_id = value[name].split(',') + if obj.pool.get(model).exists(cr, uid, [int(res_id)], context=context): + result[value['id']] = value[name] + else: + result[value['id']] = False return result class char(_column):