'Called to handle a ForeignKey (we need to treat them slightly
differently from regular fields).'

def handle_fk_field(self, obj, field):

    self._start_relational_field(field)
    related_att = getattr(obj, field.get_attname())
    if (related_att is not None):
        if (self.use_natural_keys and hasattr(field.rel.to, u'natural_key')):
            related = getattr(obj, field.name)
            related = related.natural_key()
            for key_value in related:
                self.xml.startElement(u'natural', {})
                self.xml.characters(smart_text(key_value))
                self.xml.endElement(u'natural')
        else:
            self.xml.characters(smart_text(related_att))
    else:
        self.xml.addQuickElement(u'None')
    self.xml.endElement(u'field')
