From 4a1209ae42c058cf35cce90c3f6ef77ad9eb55ba Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Paulius=20Sladkevi=C4=8Dius?= Date: Wed, 9 Nov 2022 11:28:17 +0100 Subject: [PATCH] [IMP] bi_sql_editor manual field check performance The `table_columns()` slows down modules loading significantly up to 2-3x. In most cases `model._name.startswith(self._model_prefix)` returns `False`, so better to check it first. --- bi_sql_editor/models/bi_sql_view.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/bi_sql_editor/models/bi_sql_view.py b/bi_sql_editor/models/bi_sql_view.py index 0c85a4ec3..2ffe6ec51 100644 --- a/bi_sql_editor/models/bi_sql_view.py +++ b/bi_sql_editor/models/bi_sql_view.py @@ -730,9 +730,9 @@ class BiSQLView(models.Model): def check_manual_fields(self, model): # check the fields we need are defined on self, to stop it going # early on install / startup - particularly problematic during upgrade - if "group_operator" in table_columns( - self.env.cr, "bi_sql_view_field" - ) and model._name.startswith(self._model_prefix): + if model._name.startswith( + self._model_prefix + ) and "group_operator" in table_columns(self.env.cr, "bi_sql_view_field"): # Use SQL instead of ORM, as ORM might not be fully initialised - # we have no control over the order that fields are defined! # We are not concerned about user security rules.