summaryrefslogtreecommitdiff
path: root/openerp/modules/loading.py
diff options
context:
space:
mode:
authorRaphael Collet <rco@openerp.com>2015-01-15 15:25:19 +0100
committerRaphael Collet <rco@openerp.com>2015-01-21 11:26:23 +0100
commitcf26f7ed802b82a488de1dab0dbec27b8e87009b (patch)
tree445822ba58b997d2fd200689e8835194631cf5af /openerp/modules/loading.py
parent5d7bba4eb7706aebff2090d20e630ed656c27b18 (diff)
[IMP] models, registry: let the registry retrieve manual fields from database
Diffstat (limited to 'openerp/modules/loading.py')
-rw-r--r--openerp/modules/loading.py12
1 files changed, 2 insertions, 10 deletions
diff --git a/openerp/modules/loading.py b/openerp/modules/loading.py
index 1694fdbccf7..9f22c2571a5 100644
--- a/openerp/modules/loading.py
+++ b/openerp/modules/loading.py
@@ -126,13 +126,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
migrations = openerp.modules.migration.MigrationManager(cr, graph)
_logger.info('loading %d modules...', len(graph))
- # Query manual fields for all models at once and save them on the registry
- # so the initialization code for each model does not have to do it
- # one model at a time.
- registry.fields_by_model = {}
- cr.execute('SELECT * FROM ir_model_fields WHERE state=%s', ('manual',))
- for field in cr.dictfetchall():
- registry.fields_by_model.setdefault(field['model'], []).append(field)
+ registry.clear_manual_fields()
# register, instantiate and initialize models for each modules
t0 = time.time()
@@ -227,9 +221,7 @@ def load_module_graph(cr, graph, status=None, perform_checks=True, skip_modules=
_logger.log(25, "%s modules loaded in %.2fs, %s queries", len(graph), time.time() - t0, openerp.sql_db.sql_counter - t0_sql)
- # The query won't be valid for models created later (i.e. custom model
- # created after the registry has been loaded), so empty its result.
- registry.fields_by_model = None
+ registry.clear_manual_fields()
cr.commit()