示例#1
0
文件: cbvviews.py 项目: trofi4/dj
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
示例#2
0
文件: cbvviews.py 项目: trofi4/dj
 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