def get_serializable_data(self, request=None):
if isinstance(self.data, abc.Iterable):
ret = []
data = self.data
if request is not None:
per_page, page_number = self.get_pagination_values(request)
paginator = Paginator(data, per_page)
self._current_page = data = paginator.page(page_number)
# Obtain pagination meta-data
paginator = dict(paginator=dict(
count=paginator.count,
num_pages=paginator.num_pages
))
self.meta.update(paginator)
for x in data:
ret.append(x.serializable(
links=self.links,
linkage=self.linkage,
included=self.included,
request=request,
))
return ret
elif isinstance(self.data, Resource):
return self.data.serializable(
links=self.links,
linkage=self.linkage,
included=self.included,
request=request,
)
else:
return self.data
评论列表
文章目录