[IMP] website: avoid query on website table when serving empty page

Getting the `res.company` record by browsing the `company_id` cached
value from `website` instead of reading it directly on the website
record will avoid a read on the website table.

While this might seems unusual and not elegant, since this is a very
low level method used to render every view, it seems fine.

task-2774979

X-original-commit: bc643a573a7339c82661cbcff2cc59bdd0eec3e3
Part-of: odoo/odoo#85456
This commit is contained in:
Romain Derie
2022-02-28 13:53:19 +00:00
parent 28b9a6490c
commit a61ba018a7
2 changed files with 2 additions and 2 deletions
+1 -1
View File
@@ -464,7 +464,7 @@ class View(models.Model):
main_object=self,
website=request.website,
is_view_active=request.website.is_view_active,
res_company=request.website.company_id.sudo(),
res_company=request.env['res.company'].browse(request.website._get_cached('company_id')).sudo(),
translatable=translatable,
editable=editable,
))
+1 -1
View File
@@ -116,7 +116,7 @@ class TestWebsitePerformance(UtilPerf):
# website.page with no call to layout templates
self.page.arch = '<div>I am a blank page</div>'
self.assertEqual(self._get_url_hot_query(self.page.url), 5)
self.assertEqual(self._get_url_hot_query(self.page.url, cache=False), 6)
self.assertEqual(self._get_url_hot_query(self.page.url, cache=False), 5)
def test_40_perf_sql_queries_page_multi_level_menu(self):
# menu structure should not impact SQL requests