diff --git a/addons/test_website/tests/test_menu.py b/addons/test_website/tests/test_menu.py index bba560dbc0f..da44a37134b 100644 --- a/addons/test_website/tests/test_menu.py +++ b/addons/test_website/tests/test_menu.py @@ -21,6 +21,13 @@ class TestWebsiteMenu(HttpCase): controller_url = '/test_website/model_item/' website = self.env['website'].browse(1) + # First render to fill the cache. + with MockRequest(self.env, website=website, url_root='', path=f"{controller_url}{records[0].id}"): + html.fromstring(self.env['ir.qweb']._render('test_website.model_item', { + 'record': records[0], + 'main_object': records[0], + })) + self.env['website.menu'].create([{ 'name': records[0].name, 'url': f"{controller_url}{records[0].id}", diff --git a/addons/website/models/website.py b/addons/website/models/website.py index e4a07f98dfe..c20970801b4 100644 --- a/addons/website/models/website.py +++ b/addons/website/models/website.py @@ -189,7 +189,7 @@ class Website(models.Model): def _get_menu_ids(self): return self.env['website.menu'].search([('website_id', '=', self.id)]).ids - @tools.ormcache('self.env.uid', 'self.id') + @tools.ormcache('self.env.uid', 'self.id', cache='templates') def is_menu_cache_disabled(self): """ Checks if the website menu contains a record like url.