[FIX] fields: make sure fields are set up before using them

Non-setup fields could cause problems in two places:
- when traversing the chain of fields in related fields;
- when adding recomputation triggers on inverse fields

Both issues are fixed by this patch.
This commit is contained in:
Raphael Collet 2014-12-10 16:20:44 +01:00
parent 107ba240de
commit 058eaf01df
1 changed files with 3 additions and 0 deletions

View File

@ -447,6 +447,7 @@ class Field(object):
for name in self.related:
recs._setup_fields()
field = recs._fields[name]
field.setup(env)
recs = recs[name]
fields.append(field)
@ -569,6 +570,8 @@ class Field(object):
self.recursive = True
continue
field.setup(env)
#_logger.debug("Add trigger on %s to recompute %s", field, self)
field._triggers.add((self, '.'.join(path0 or ['id'])))