code: def changed(self, *fields):
          
          S = super(Value, self).changed
          for fld in fields or (None,): # no args tests for any change
              if S(fld):
                  return True
          return False
docs: Test if one or more fields have changed.
  
          A field is considered to have changed if it has been marked as changed,
          or if any of its parent, or child, fields have been marked as changed.