[FIX] Replace browse on products by read in order to increase performances.
bzr revid: benoit.guillot@akretion.com.br-20120709134024-kh03pbdc1vugca73
This commit is contained in:
parent
e9c288b4bf
commit
bc3a9c4f43
|
@ -559,8 +559,8 @@ class product_product(osv.osv):
|
|||
return False
|
||||
|
||||
def _check_ean_key(self, cr, uid, ids, context=None):
|
||||
for product in self.browse(cr, uid, ids, context=context):
|
||||
res = check_ean(product.ean13)
|
||||
for product in self.read(cr, uid, ids, ['ean13'], context=context):
|
||||
res = check_ean(product['ean13'])
|
||||
return res
|
||||
|
||||
_constraints = [(_check_ean_key, 'Error: Invalid ean code', ['ean13'])]
|
||||
|
|
|
@ -243,13 +243,16 @@ class product_product(osv.osv):
|
|||
child_location_ids = location_obj.search(cr, uid, [('location_id', 'child_of', location_ids)])
|
||||
location_ids = child_location_ids or location_ids
|
||||
|
||||
# this will be a dictionary of the UoM resources we need for conversion purposes, by UoM id
|
||||
uoms_o = {}
|
||||
# this will be a dictionary of the product UoM by product id
|
||||
product2uom = {}
|
||||
for product in self.browse(cr, uid, ids, context=context):
|
||||
product2uom[product.id] = product.uom_id.id
|
||||
uoms_o[product.uom_id.id] = product.uom_id
|
||||
uom_ids = []
|
||||
for product in self.read(cr, uid, ids, ['uom_id'], context=context):
|
||||
product2uom[product['id']] = product['uom_id'][0]
|
||||
uom_ids.append(product['uom_id'][0])
|
||||
# this will be a dictionary of the UoM resources we need for conversion purposes, by UoM id
|
||||
uoms_o = {}
|
||||
for uom in self.pool.get('product.uom').browse(cr, uid, uom_ids, context=context):
|
||||
uoms_o[uom.id] = uom
|
||||
|
||||
results = []
|
||||
results2 = []
|
||||
|
|
Loading…
Reference in New Issue