class Pagination(ListView): modules = None form = None def get_queryset(self): set = self.model.objects.all() if True in [x in self.request.GET for x in ('genre', 'status', 'votes', 'pre_data', 'post_data', 'country')]: self.filter = SerialFilter(self.request.GET) set = self.filter.get_query() return set def get_context_data(self, **kwargs): context = super(Pagination, self).get_context_data(**kwargs) if self.paginate_by is not None: context['previos2'] = context['page_obj'].number - 2 context['previos3'] = context['page_obj'].number - 3 context['next2'] = context['page_obj'].number + 2 context['next3'] = context['page_obj'].number + 3 context['pre_last'] = context['paginator'].num_pages - 1 if self.modules is not None: if 'serial' in self.modules: context['serial_list'] = Serial.objects.order_by('russian_name')[0:10] if self.form is not None: context['form'] = self.form if True in [x in self.request.GET for x in ('genre', 'status', 'votes', 'pre_data', 'post_data', 'country')]: context['form'] = self.form(self.request.GET) context['filter'] = self.filter return context
def get_queryset(self): set = self.model.objects.all() if True in [x in self.request.GET for x in ('genre', 'status', 'votes', 'pre_data', 'post_data', 'country')]: self.filter = SerialFilter(self.request.GET) set = self.filter.get_query() return set