From a315da754b0a2f8840891f2dca8991343d849928 Mon Sep 17 00:00:00 2001 From: Stephane Wirtel Date: Fri, 11 Jun 2010 17:53:17 +0200 Subject: [PATCH] [REF] Use the collections.defaultdict object instead of an ugly code bzr revid: stephane@openerp.com-20100611155317-jfer5wyiuso533se --- bin/osv/fields.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/bin/osv/fields.py b/bin/osv/fields.py index 9d97304aff1..f7b0b29abd3 100644 --- a/bin/osv/fields.py +++ b/bin/osv/fields.py @@ -31,6 +31,7 @@ # required # size # +from collections import defaultdict import string import netsvc import sys @@ -430,9 +431,9 @@ class one2many(_column): context.update(self._context) if not values: values = {} - res = {} - for id in ids: - res[id] = [] + + res = defaultdict(list) + ids2 = obj.pool.get(self._obj).search(cr, user, self._domain + [(self._fields_id, 'in', ids)], limit=self._limit, context=context) for r in obj.pool.get(self._obj)._read_flat(cr, user, ids2, [self._fields_id], context=context, load='_classic_write'): res[r[self._fields_id]].append(r['id'])