[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:
parent
107ba240de
commit
058eaf01df
|
@ -447,6 +447,7 @@ class Field(object):
|
||||||
for name in self.related:
|
for name in self.related:
|
||||||
recs._setup_fields()
|
recs._setup_fields()
|
||||||
field = recs._fields[name]
|
field = recs._fields[name]
|
||||||
|
field.setup(env)
|
||||||
recs = recs[name]
|
recs = recs[name]
|
||||||
fields.append(field)
|
fields.append(field)
|
||||||
|
|
||||||
|
@ -569,6 +570,8 @@ class Field(object):
|
||||||
self.recursive = True
|
self.recursive = True
|
||||||
continue
|
continue
|
||||||
|
|
||||||
|
field.setup(env)
|
||||||
|
|
||||||
#_logger.debug("Add trigger on %s to recompute %s", field, self)
|
#_logger.debug("Add trigger on %s to recompute %s", field, self)
|
||||||
field._triggers.add((self, '.'.join(path0 or ['id'])))
|
field._triggers.add((self, '.'.join(path0 or ['id'])))
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue