diff --git a/openerp/osv/orm.py b/openerp/osv/orm.py index 4493440c936..83cf852fcdd 100644 --- a/openerp/osv/orm.py +++ b/openerp/osv/orm.py @@ -639,6 +639,7 @@ class orm_template(object): def __init__(self, pool, cr): """ Initialize a model and make it part of the given registry.""" + pool.add(self._name, self) self.pool = pool if not self._name and not hasattr(self, '_inherit'): diff --git a/openerp/osv/osv.py b/openerp/osv/osv.py index 40b448fcd82..97cdc1b2a3f 100644 --- a/openerp/osv/osv.py +++ b/openerp/osv/osv.py @@ -243,9 +243,7 @@ class osv_pool(object): # Instanciate classes registered through their constructor and # add them to the pool. for klass in module_class_list.get(module, []): - inst = klass.createInstance(self, module, cr) - self.add(inst._name, inst) - res.append(inst) + res.append(klass.createInstance(self, module, cr)) return res