大意就是不能通过Model实例访问管理器。
然后仔细查找了一下代码
@method_decorator(login_required)
def get(self, request):
# 在登录用户点击"编辑"按钮的时候,需要先判断登录用户,所点击的这个学科的创建者是否当前登录用户,如果当前学科的创建者和当前登录用户是一个用户,就可以跳转到编辑页面。或者说当前登录用户是admin管理员,也可以跳转到编辑页面。
# 获取学科id,根据id查询学科详情,将所有的学科数据渲染到Subject/edit.html中。
subject = Subject.objects.get(id=request.GET.get('subject_id'))
if request.user.username != subject.creater.username and request.user.username != 'admin':
error = {'code':'只能编辑自己添加的学科。'}
subjects = subject.objects.all()
return render(request,'subject/list.html',locals())
else:
return render(request, 'subject/edit.html', locals())
发现此处写错
subjects = subject.objects.all()
更改后
subjects = Subject.objects.all()
成功访问