gpt4 book ai didi

Django:精确查找的QuerySet值必须使用切片限制为一个结果

转载 作者:行者123 更新时间:2023-12-05 08:22:52 27 4
gpt4 key购买 nike

我正在做一个管理员可以将团队分配给经理的项目。但它不起作用,我不知道它将如何工作。因为它会引发错误,指出“精确查找的 QuerySet 值必须限制为使用切片的一个结果。”

这是我的模型.py

class manager(models.Model):
name = models.CharField(max_length= 500)
designation = models.CharField(max_length= 500)
user = models.ForeignKey(User,on_delete=models.CASCADE)
class Meta:
permissions = [
("edit_task", "can edit the task"),
]

这是我的经理团队的 views.py 文件

@login_required (login_url= 'have the url where it will go')
@permission_required('have the permission that is assigned by me')
def supervisor(request):
return render(request, 'manager/index-3.html')

def supervisor_team(request):
print(request.user.email)
email=request.user.email
obj= Create_Team.objects.filter(status='Accept',
managers=manager.objects.filter(user__email=email))
return render(request, "manager/accept_team.html", {"object": obj})

这是我的模板

<div class="body table-responsive">
<table class="table table-hover">
<thead>
<tr>
<th>S No.</th>
<th>COMPANY NAME</th>
<th>TEAM MEMBER</th>
<th>EMAIL</th>
</tr>
</thead>
<tbody>

{%for object in team%}
<tr>
<form id="form_id" method="POST" action = "#">
{% csrf_token %}

<th scope="row"> {{ forloop.counter }}</th>
<td>{{object.company_name}}</td>
<td>{{object.team_member}}</td>
<td>{{object.email}}</td>
<td>
</tr>

{% endfor %}

</tbody>
</table>
</div>

我不知道我哪里错了。 here is the image of the error

最佳答案

我认为这是问题所在:

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

如果你想按一位经理进行过滤,你必须使用 get 而不是 filter:

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

但是如果你想按多个经理进行过滤,你需要使用 __in:

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

您还将 {"object": obj}) 传递给模板,但在 templare 中您正试图遍历 team。所以将其更改为传递 team 变量:

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

关于Django:精确查找的QuerySet值必须使用切片限制为一个结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56150224/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com