diff --git a/bin/addons/base/ir/ir_model.py b/bin/addons/base/ir/ir_model.py index abbcec9130a..b054fd0e0db 100644 --- a/bin/addons/base/ir/ir_model.py +++ b/bin/addons/base/ir/ir_model.py @@ -554,10 +554,14 @@ class ir_model_data(osv.osv): def __init__(self, pool, cr): osv.osv.__init__(self, pool, cr) - self.loads = {} self.doinit = True self.unlink_mark = {} + # also stored in pool to avoid being discarded along with this osv instance + if getattr(pool, 'model_data_reference_ids', None) is None: + self.pool.model_data_reference_ids = {} + self.loads = self.pool.model_data_reference_ids + def _auto_init(self, cr, context=None): super(ir_model_data, self)._auto_init(cr, context) cr.execute('SELECT indexname FROM pg_indexes WHERE indexname = \'ir_model_data_module_name_index\'')