如何在django CBV(ListView)中发送2个查询集

时间:2015-08-06 08:54:41

标签: python django listview django-class-based-views

class myView(ListView):
    template_name = "myView.html"

    def get_context_data(**kwargs):
        queryset = people.objects.all()
        queryset2 = people.objects.filter(stage = 4)

        context = {
            'paginator': None,
            'page_obj': None,
            'is_paginated': False,
            'object_list_all': queryset,
            'object_list_4': queryset2
        }

        context.update(kwargs)

        return context

    @method_decorator(login_required)
    def dispatch(self, *args, **kwargs):
        return super(myView, self).dispatch(*args, **kwargs)

`

我收到以下错误:myView必须定义querysetmodel。我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:4)

似乎没有任何理由将其作为ListView。 ListView唯一能做的就是从模型或查询集属性生成一个object_list上下文项。如果您不想这样,只需将其设为标准的TemplateView。