summaryrefslogtreecommitdiff
path: root/odoo/modules
diff options
context:
space:
mode:
authorRaphael Collet <rco@odoo.com>2019-08-27 13:27:51 +0000
committerRaphael Collet <rco@odoo.com>2019-09-09 13:18:53 +0000
commit263849c3365af3d62fa5b9ceaff65b2f7b84c092 (patch)
treebfb98fc8abbd771675e5765936273f0b3d4836a3 /odoo/modules
parentcfb08e87b0fa8895ec4406c9b30d2ebdb790e346 (diff)
[FIX] models: optimize modified() in the context of record creation
This prevents a bunch of queries that are useless when creating a record. Indeed, right after a record has been created, no other record has a many2one reference to it. In other words, inversing a many2one field from the record just created always gives an empty recordset. Those useless inversions generate about a dozen queries when creating a `res.partner`, for instance. This saves queries, but not much time. closes odoo/odoo#36566 Signed-off-by: Raphael Collet (rco) <rco@openerp.com>
Diffstat (limited to 'odoo/modules')
-rw-r--r--odoo/modules/registry.py7
1 files changed, 1 insertions, 6 deletions
diff --git a/odoo/modules/registry.py b/odoo/modules/registry.py
index 8a70b8d7582..5df1a7b61f0 100644
--- a/odoo/modules/registry.py
+++ b/odoo/modules/registry.py
@@ -283,12 +283,7 @@ class Registry(Mapping):
tree = tree.setdefault(label, {})
tree.setdefault(None, set()).add(field)
- self.field_triggers_create = triggers
- self.field_triggers = {
- field: tree
- for field, tree in triggers.items()
- if not (field.type == 'one2many' and field.inverse)
- }
+ self.field_triggers = triggers
for model in models:
model._setup_complete()