示例#1
0
    def serialize(self, request=None, tag=None):
        if tag is None:
            tag = self._xobj.tag
        if not self.list_fields:
            return XObjIdModel.serialize(self, request, tag=tag)
        # We only support one list field right now
        listField = self.list_fields[0]

        modelList = getattr(self, listField)

        if request:
            modelList = self.filterBy(request, modelList)
            modelList = self.orderBy(request, modelList)
            self.paginate(request, listField, modelList)

        etreeModel = XObjIdModel.serialize(self, request, tag=tag)
        if self._pagedId is not None:
            etreeModel.attrib['id'] = self._pagedId
        return etreeModel