[FIX] ir_model: always setup models before calling _auto_init()
authorRaphael Collet <rco@openerp.com>
Thu, 6 Nov 2014 14:16:02 +0000 (15:16 +0100)
committerRaphael Collet <rco@openerp.com>
Thu, 13 Nov 2014 13:54:04 +0000 (14:54 +0100)
openerp/addons/base/ir/ir_model.py

index e9a05ab..307b325 100644 (file)
@@ -501,6 +501,7 @@ class ir_model_fields(osv.osv):
             # we want to change the key of field in obj._fields and obj._columns
             field = obj._pop_field(rename[1])
             obj._add_field(rename[2], field)
+            self.pool.setup_models(cr, partial=(not self.pool.ready))
 
         if patches:
             # We have to update _columns of the model(s) and then call their
@@ -521,11 +522,11 @@ class ir_model_fields(osv.osv):
                     obj._add_field(field_name, field.new(**attrs))
 
                 # update database schema
+                self.pool.setup_models(cr, partial=(not self.pool.ready))
                 obj._auto_init(cr, ctx)
                 obj._auto_end(cr, ctx) # actually create FKs!
 
         if column_rename or patches:
-            self.pool.setup_models(cr, partial=(not self.pool.ready))
             RegistryManager.signal_registry_change(cr.dbname)
 
         return res