且看源码:
@api.model
def _get_tracked_fields(self, updated_fields):
""" Return a structure of tracked fields for the current model.
:param list updated_fields: modified field names
:return dict: a dict mapping field name to description, containing on_change fields
"""
tracked_fields = []
for name, field in self._fields.items():
if getattr(field, ‘track_visibility‘, False):
tracked_fields.append(name)
if tracked_fields:
return self.fields_get(tracked_fields)
return {}
设置的关键字为track_visibility
源码设置实例:
type = fields.Selection([
(‘out_invoice‘,‘Customer Invoice‘),
(‘in_invoice‘,‘Vendor Bill‘),
(‘out_refund‘,‘Customer Credit Note‘),
(‘in_refund‘,‘Vendor Credit Note‘),
], readonly=True, states={‘draft‘: [(‘readonly‘, False)]}, index=True, change_default=True,
default=lambda self: self._context.get(‘type‘, ‘out_invoice‘),
track_visibility=‘always‘)