[FIX] fields: skip missing triggers for computed custom fields
This improves ddafbab3e4 by still loading the
field, but be tolerant if setting its triggers fails.
This commit is contained in:
+4
-3
@@ -728,8 +728,6 @@ class BaseModel(object):
|
||||
attrs['domain'] = eval(field['domain']) if field['domain'] else None
|
||||
# add compute function if given
|
||||
if field['compute']:
|
||||
if partial and field['depends']:
|
||||
continue
|
||||
attrs['compute'] = make_compute(field['compute'], field['depends'])
|
||||
self._add_field(name, Field.by_type[field['ttype']](**attrs))
|
||||
|
||||
@@ -3061,7 +3059,10 @@ class BaseModel(object):
|
||||
|
||||
# set up field triggers
|
||||
for field in cls._fields.itervalues():
|
||||
field.setup_triggers(self.env)
|
||||
# dependencies of custom fields may not exist; ignore that case
|
||||
exceptions = (Exception,) if field.manual else ()
|
||||
with tools.ignore(*exceptions):
|
||||
field.setup_triggers(self.env)
|
||||
|
||||
# add invalidation triggers on model dependencies
|
||||
if cls._depends:
|
||||
|
||||
Reference in New Issue
Block a user