docs: def handle_fk_field(self, obj, field):
          """
          Called to handle a ForeignKey (we need to treat them slightly
          differently from regular fields).
          """
          self._start_relational_field(field)
          related = getattr(obj, field.name)
          if related is not None:
              if self.use_natural_keys and hasattr(related, 'natural_key'):
                  # If related object has a natural key, use it
                  related = related.natural_key()
                  # Iterable natural keys are rolled out as subelements
                  for key_value in related:
                      self.xml.startElement("natural", {})
                      self.xml.characters(smart_unicode(key_value))
                      self.xml.endElement("natural")
              else:
                  if field.rel.field_name == related._meta.pk.name:
                      # Related to remote object via primary key
                      related = related._get_pk_val()
                  else:
                      # Related to remote object via other field
                      related = getattr(related, field.rel.field_name)
                  self.xml.characters(smart_unicode(related))
          else:
              self.xml.addQuickElement("None")
          self.xml.endElement("field")