'Pulls the value for the given key from the object, applies the
field\'s formatting and returns the result. If the key is not found
in the object, returns the default value. Field classes that create
values which do not require the existence of the key in the object
should override this and return the desired value.
:exception MarshallingException: In case of formatting problem'

def output(self, key, obj):

    value = get_value((key if (self.attribute is None) else self.attribute), obj)
    if (value is None):
        return self.default
    return self.format(value)
