权限报错!!!

来源:7-6 权限验证与cookiesession(2)

weixin_慕勒0552695

2020-08-16

users = User.objects.filter(Q(groups__permissions=b_permission) | Q(user_permissions=b_permission)).distinct()#报错

ValueError: The QuerySet value for an exact lookup must be limited to one result using slic
ing.
麻烦请老师帮忙看看,找了一下午没找到问题

写回答

2回答

deweizhang

2020-08-17

https://stackoverflow.com/questions/56150224/djangothe-queryset-value-for-an-exact-lookup-must-be-limited-to-one-result-usin   你参考一下这个帖子, 如果打不开 下边是解决的方式:


I think this is the problem:

obj= Create_Team.objects.filter(status='Accept', managers=manager.objects.filter(user__email=email))

if you want to filter by one manager you have to use get instead of filter:

obj= Create_Team.objects.filter(status='Accept', managers=manager.objects.get(user__email=email))

But if you want to filter by several managers you need to use __in:

obj= Create_Team.objects.filter(status='Accept', managers__in=manager.objects.filter(user__email=email))

Also you are passing {"object": obj}) to template but in templare you are trying to iterate over team. So change it to pass team variable:

return render(request, "manager/accept_team.html", {"team": obj})


0
2
deweizhang
回复
weixin_慕勒0552695
这个还真是 我也学习了 我记得当时好像我也遇到过 不提真想不起来
2020-08-17
共2条回复

deweizhang

2020-08-16

你好 我手头没有电脑 你可以百度 django 后边加上你的错误 查查 如果没有结果 我明天有设备后帮你查一下

0
3
deweizhang
我感觉是业务冲突~
2020-08-16
共3条回复

Django入门到进阶-适合Python小白的系统课程

入门Django的同时,让你形成更贴近实际工作的Python Web开发知识体系

1114 学习 · 464 问题

查看课程