[IMP] huge speed improvement on computing prices of several products 916 SQL queries to 216. Still too much.
bzr revid: fp@tinyerp.com-20131203223910-l4hbew0f0iquii9x
This commit is contained in:
parent
704607db5a
commit
773d7a25d1
|
@ -529,12 +529,15 @@ class product_product(osv.osv):
|
||||||
pricelist_ids = self.pool.get('product.pricelist').name_search(
|
pricelist_ids = self.pool.get('product.pricelist').name_search(
|
||||||
cr, uid, pricelist, operator='=', context=context, limit=1)
|
cr, uid, pricelist, operator='=', context=context, limit=1)
|
||||||
pricelist = pricelist_ids[0][0] if pricelist_ids else pricelist
|
pricelist = pricelist_ids[0][0] if pricelist_ids else pricelist
|
||||||
|
|
||||||
|
qtys = map(lambda x: (x, quantity, partner), ids)
|
||||||
|
price = self.pool.get('product.pricelist').price_get_multi(cr,uid, [pricelist],
|
||||||
|
qtys, context=context)
|
||||||
for id in ids:
|
for id in ids:
|
||||||
try:
|
try:
|
||||||
price = self.pool.get('product.pricelist').price_get(cr,uid,[pricelist], id, quantity, partner=partner, context=context)[pricelist]
|
res[id] = price[id][pricelist]
|
||||||
except:
|
except:
|
||||||
price = 0.0
|
price = 0.0
|
||||||
res[id] = price
|
|
||||||
for id in ids:
|
for id in ids:
|
||||||
res.setdefault(id, 0.0)
|
res.setdefault(id, 0.0)
|
||||||
return res
|
return res
|
||||||
|
|
Loading…
Reference in New Issue