From 010dd5a603063542a5ec64800535fdd946c516e2 Mon Sep 17 00:00:00 2001 From: Christophe Matthieu Date: Fri, 9 Jan 2015 13:18:09 +0100 Subject: [PATCH] [FIX] website_sale: very slow name_get for product public categories --- addons/website_sale/models/product.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/addons/website_sale/models/product.py b/addons/website_sale/models/product.py index 590c790ab03..a678ee0ce79 100644 --- a/addons/website_sale/models/product.py +++ b/addons/website_sale/models/product.py @@ -46,15 +46,14 @@ class product_public_category(osv.osv): ] def name_get(self, cr, uid, ids, context=None): - if not len(ids): - return [] - reads = self.read(cr, uid, ids, ['name','parent_id'], context=context) res = [] - for record in reads: - name = record['name'] - if record['parent_id']: - name = record['parent_id'][1]+' / '+name - res.append((record['id'], name)) + for cat in self.browse(cr, uid, ids, context=context): + names = [cat.name] + pcat = cat.parent_id + while pcat: + names.append(pcat.name) + pcat = pcat.parent_id + res.append((cat.id, ' / '.join(reversed(names)))) return res def _name_get_fnc(self, cr, uid, ids, prop, unknow_none, context=None):