You need to enable JavaScript to run this app. Django开发待办清单Add Task提交后任务列表不展示问题求助
优惠活动
大模型
产品
解决方案
定价
更多

Django开发待办清单Add Task提交后任务列表不展示问题求助

问题根因

你做了多用户权限隔离,任务列表视图默认只查询当前登录用户关联的任务,但新增任务时没有自动绑定提交任务的登录用户,导致新增任务的用户关联字段为空,列表过滤时匹配不到对应数据,因此不展示。

修复步骤

  1. 给任务CreateView新增form_valid方法,自动绑定当前登录用户到新增任务
# 在你的TaskCreateView类中添加如下代码
def form_valid(self, form):
    form.instance.user = self.request.user
    return super().form_valid(form)
  1. 确认CreateView的fields配置没有包含user字段,避免表单出现用户选择项
class TaskCreateView(CreateView):
    model = Task
    # 仅保留任务自身的属性字段,不要加user
    fields = ['title', 'description', 'completed']
    success_url = reverse_lazy('tasks') # 提交成功跳转回任务列表
  1. 确认任务列表视图的查询集过滤逻辑正确,仅返回当前用户的任务
# 在你的TaskListView类中添加如下代码
def get_queryset(self):
    return Task.objects.filter(user=self.request.user)

验证操作

修复后重新提交新任务,即可在列表页正常看到数据。之前后台已存在的无关联用户的任务,可手动在admin后台绑定对应用户,或直接删除即可。


内容的提问来源于stack exchange,提问作者manasi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 14:39:04