diff options
| author | Raphael Collet <rco@odoo.com> | 2019-08-27 13:27:51 +0000 |
|---|---|---|
| committer | Raphael Collet <rco@odoo.com> | 2019-09-09 13:18:53 +0000 |
| commit | 263849c3365af3d62fa5b9ceaff65b2f7b84c092 (patch) | |
| tree | bfb98fc8abbd771675e5765936273f0b3d4836a3 /odoo/modules | |
| parent | cfb08e87b0fa8895ec4406c9b30d2ebdb790e346 (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.py | 7 |
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() |
