diff options
Diffstat (limited to 'odoo/modules')
| -rw-r--r-- | odoo/modules/registry.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/odoo/modules/registry.py b/odoo/modules/registry.py index 7bdff852c67..60db60cdd50 100644 --- a/odoo/modules/registry.py +++ b/odoo/modules/registry.py @@ -212,9 +212,15 @@ class Registry(Mapping): if self._fields_by_model is None: # Query manual fields for all models at once self._fields_by_model = dic = defaultdict(dict) + id2name = {} cr.execute('SELECT * FROM ir_model_fields WHERE state=%s', ('manual',)) for field in cr.dictfetchall(): dic[field['model']][field['name']] = field + id2name[field['id']] = field['name'] + # compute the attribute 'sparse' + for fields in dic.values(): + for name, field in fields.items(): + field['sparse'] = id2name.get(field['serialization_field_id']) return self._fields_by_model[model_name] def do_parent_store(self, cr): |
