docs: def output(self, key, obj):
          """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
          """
  
          value = get_value(key if self.attribute is None else self.attribute, obj)
  
          if value is None:
              return self.default
  
          return self.format(value)