def make_result_list(self):
u"""
?????????
result_list
"""
# ?????????? queryset
self.list_queryset = self.get_list_queryset()
self.ordering_field_columns = self.get_ordering_field_columns()
self.paginator = self.get_paginator()
# ???????
self.result_count = self.paginator.count
if self.can_show_all:
self.can_show_all = self.result_count <= self.list_max_show_all
self.multi_page = self.result_count > self.list_per_page
if (self.show_all and self.can_show_all) or not self.multi_page:
self.result_list = self.list_queryset._clone(count=self.result_count)
else:
try:
self.result_list = self.paginator.page(
self.page_num + 1).object_list
except InvalidPage:
# ????, ?????????????
if defs.ERROR_FLAG in self.request.GET.keys():
return SimpleTemplateResponse('xadmin/views/invalid_setup.html', {
'title': _('Database error'),
})
return HttpResponseRedirect(self.request.path + '?' + defs.ERROR_FLAG + '=1')
self.has_more = self.result_count > (
self.list_per_page * self.page_num + len(self.result_list))
评论列表
文章目录