code: def to_dict(self):
          
  
          # 1. extract the schema fields
          data = self.extract_fields()
  
          # 2. include custom key-value pairs listed in the mapping dictionary
          for key, attr in self.attributes.iteritems():
              if key in self.ignore:
                  continue  # skip ignores
              # fetch the mapped attribute
              value = getattr(self.context, attr, None)
              if value is None:
                  value = getattr(self, attr, None)
              # handle function calls
              if callable(value):
                  value = value()
              # map the value to the given key from the mapping
              data[key] = api.to_json_value(self.context, key, value)
          return data
docs: extract the data of the content and return it as a dictionary