[FIX] models: simplify conditions that seem to lead to missing fields
authorRaphael Collet <rco@openerp.com>
Thu, 13 Nov 2014 09:06:30 +0000 (10:06 +0100)
committerRaphael Collet <rco@openerp.com>
Thu, 13 Nov 2014 13:54:04 +0000 (14:54 +0100)
openerp/models.py

index e871dff..02be955 100644 (file)
@@ -516,7 +516,7 @@ class BaseModel(object):
         """
         def add(name, field):
             """ add `field` with the given `name` if it does not exist yet """
-            if name not in cls._columns and name not in cls._fields:
+            if name not in cls._fields:
                 cls._add_field(name, field)
 
         # cyclic import
@@ -811,8 +811,7 @@ class BaseModel(object):
         cls._fields = {}
         above = cls.__bases__[0]
         for attr, field in getmembers(above, Field.__instancecheck__):
-            if not field.inherited:
-                cls._add_field(attr, field.new())
+            cls._add_field(attr, field.new())
 
         # introduce magic fields
         cls._add_magic_fields()