Django中的任务列表视图

bxgwgixi  于 2023-10-21  发布在  Go
关注(0)|答案(1)|浏览(122)

我一直在尝试做一个待办事项应用
我试图为每个用户制定他们自己的待办事项列表,只列出他们没有完成的任务,
正确获取 * 上下文 * 数据不接受过滤功能,因为模板上没有显示任务

`
class TaskList(LoginRequiredMixin, ListView):
    model = Task
    context_object_name = "tasks"
    def get_context_data(self, **kwargs):
        context = super(TaskList, self).get_context_data(**kwargs)
        context["tasks"] = context["tasks"].filter(user=self.request.user)
        context["count"] = context["tasks"].filter(complete=False).count()
        return context`
llmtgqce

llmtgqce1#

只需使用**.get_queryset()**[Django-doc]进行过滤:

class TaskList(LoginRequiredMixin, ListView):
    model = Task
    context_object_name = 'tasks'

    def get_queryset(self):
        return super().get_queryset().filter(user=self.request.user)

    def get_context_data(self, **kwargs):
        context = super().get_context_data(**kwargs)
        context['count'] = self.object_list.filter(complete=False).count()
        return context

您可能还希望在get_queryset中过滤complete=False

注意:从PEP-3135 [pep]开始,如果第一个参数是定义方法的类,第二个参数是函数的第一个参数(通常是self),则不需要带参数调用super(…)

相关问题