def test_tree_serialize(self): """test serialization of models with foreign keys""" ser = RecursiveXmlSerializer() res = TestModel.objects.all() xml = ser.serialize(res) assert(md5(xml).hexdigest() == CONFIRMED_XML_DIGEST)
def __init__(self, revision_id): nodelist = [] revision = Revision.objects.get(pk=revision_id) serializer = RecursiveXmlSerializer() # turn all version objects into lxml elements for ver in revision.version_set.all(): model_instance = ver.get_object_version().object draft_xml = serializer.serialize([model_instance]) draft_doc = etree.fromstring(draft_xml) draft_nodes = draft_doc.xpath(r'/django-objects/object') nodelist += draft_nodes topnode = self._find_topnode(nodelist) nodelist.remove(topnode) self.nodelist = nodelist # create xml topnode with nested items self._append_children(topnode, nodelist) self.topnode = topnode
def __xml__(self): """turn model object into xml recursively""" ser = RecursiveXmlSerializer() return ser.serialize([self])
def __xml__(self): """turn querysets into xml recursively""" ser = RecursiveXmlSerializer() return ser.serialize(self)