code: def handle_field(self, obj, field):
          
          self.indent(2)
  
          field_attrs = {
              "name" : field.name,
              "type" : field.get_internal_type()
          }
          # handle fields with a extra_attrs set as speciul
          if hasattr(field, 'extra_attrs'):
              if field.extra_attrs:
                  for (key, value) in field.extra_attrs.iteritems():
                      field_attrs[key] = force_unicode(value)
  
              field_attrs['name'] = field.name.replace('_', '.')
  
          self.xml.startElement("field", field_attrs)
  
          # Checks for a custom value serializer 
          if not hasattr(field, '__serialize__'):
              # Get a "string version" of the object's data.
              if getattr(obj, field.name) is not None:
                  self.xml.characters(field.value_to_string(obj))
              else:
                  self.xml.addQuickElement("None")
          else:
              field.__serialize__(obj, self.xml)
  
          self.xml.endElement("field")
docs: Called to handle each field on an object (except for ForeignKeys and
          ManyToManyFields)