[FIX] models: do not look up the registry class when building cls._fields
authorRaphael Collet <rco@openerp.com>
Tue, 14 Oct 2014 13:47:13 +0000 (15:47 +0200)
committerRaphael Collet <rco@openerp.com>
Tue, 14 Oct 2014 14:17:23 +0000 (16:17 +0200)
openerp/models.py

index 5f596cd..8123ec6 100644 (file)
@@ -804,10 +804,11 @@ class BaseModel(object):
                 "TransientModels must have log_access turned on, " \
                 "in order to implement their access rights policy"
 
-        # retrieve new-style fields and duplicate them (to avoid clashes with
-        # inheritance between different models)
+        # retrieve new-style fields (from above registry class) and duplicate
+        # them (to avoid clashes with inheritance between different models)
         cls._fields = {}
-        for attr, field in getmembers(cls, Field.__instancecheck__):
+        above = cls.__bases__[0]
+        for attr, field in getmembers(above, Field.__instancecheck__):
             if not field.inherited:
                 cls._add_field(attr, field.new())