[IMP] models: prepare the setup of fields at one place only

This commit is contained in:
Raphael Collet 2015-01-20 12:16:34 +01:00
parent 54c655cb71
commit 431f8de815
2 changed files with 10 additions and 8 deletions

View File

@ -336,8 +336,6 @@ class Field(object):
# determine self.default and cls._defaults in a consistent way
self._determine_default(cls, name)
self.reset()
def _determine_default(self, cls, name):
""" Retrieve the default value for `self` in the hierarchy of `cls`, and
determine `self.default` and `cls._defaults` accordingly.

View File

@ -2929,13 +2929,8 @@ class BaseModel(object):
@api.model
def _prepare_setup(self):
""" Prepare the setup of the model and its fields. """
""" Prepare the setup of the model. """
type(self)._setup_done = False
for name, field in self._fields.items():
if field.inherited:
del self._fields[name]
else:
field.reset()
@api.model
def _setup_base(self, partial):
@ -2949,12 +2944,21 @@ class BaseModel(object):
for parent in cls._inherits:
self.env[parent]._setup_base(partial)
# remove inherited fields from cls._fields
for name, field in cls._fields.items():
if field.inherited:
del cls._fields[name]
# retrieve custom fields
cls._init_manual_fields(self._cr, partial)
# retrieve inherited fields
cls._init_inherited_fields()
# prepare the setup of fields
for field in cls._fields.itervalues():
field.reset()
cls._setup_done = True
@api.model