【问题标题】:How to send 2 query sets in a django CBV(ListView)如何在 django CBV(ListView) 中发送 2 个查询集
【发布时间】:2015-08-06 08:54:40
【问题描述】:
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。我应该怎么做才能解决这个问题?

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

    • ListView 或 UpdateView 有什么好处?
    • 我刚刚说了 ListView 的好处。一个UpdateView,毫不奇怪,就是显示和处理一个表单来更新单个项目。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-17
    • 1970-01-01
    • 1970-01-01
    • 2020-04-27
    • 2018-08-02
    • 2014-10-29
    • 1970-01-01
    相关资源
    最近更新 更多