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

Django:精确查找的QuerySet值必须限制为使用切片的一个结果,django,django-models,django-templates,django-views,Django,Django Models,Django Templates,Django Views,我正在做一个项目,管理员可以将团队分配给经理。但它不起作用,我也不知道它将如何起作用。因为它会引发一个错误,即“精确查找的QuerySet值必须限制为使用切片的一个结果。” 这是我的模特 class manager(models.Model): name = models.CharField(max_length= 500) designation = models.CharField(max_length= 500) user = models.ForeignKey(User,on_delet

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

这是我的模特

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"),
    ]
这是适用于manager团队的my 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>

是的。
公司名称
组员
电子邮件
{团队%中对象的%s}
{%csrf_令牌%}
{{forloop.counter}}
{{object.company_name}
{{object.team_member}
{{object.email}
{%endfor%}

我不知道我错在哪里。

我想这就是问题所在:

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))
但是,如果您想由多个管理者进行筛选,则需要在中使用
\u:

obj= Create_Team.objects.filter(status='Accept', 
managers__in=manager.objects.filter(user__email=email))
另外,您正在将
{“object”:obj}
传递给模板,但在templare中,您正在尝试迭代
团队
。因此,将其更改为pass
team
变量:

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

请分享您的
创建团队
模型。我猜您正在通过
manager
的查询集,但需要通过manager的一个实例`是的,它对我有效,但我有另一个问题,团队没有在UIS中显示,请在此处添加您的模板。并在渲染之前打印
obj
,以检查其是否为空。提供给经理的团队未显示在前端我已添加了我的模板,如果我将该团队更改为模板中的对象,请帮助我如何处理