简体   繁体   English

Django:如何在管理页面上获取管理器的对象

[英]Django: how to get an object of manager on admin page

这是图像 I am new to Django and I am working on a project.我是 Django 的新手,我正在做一个项目。 In my project an admin will have the power to assign the project to a manager.在我的项目中,管理员有权将项目分配给经理。 So I want to render the name of all the managers from the database so that it will be displayed to the admin.所以我想从数据库中呈现所有经理的姓名,以便将其显示给管理员。

here is my .html file where I want to render the name of the manager in:这是我的.html文件,我想在其中呈现经理的姓名:

<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>
              <th>ASSIGN TEAM</th>
           </tr>
            </thead>
            <tbody>

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

                           <th scope="row"> {{ forloop.counter }}</th>
                            <td>{{team.company_name}}</td>
                            <td>{{team.team_member}}</td>
                            <td>{{team.email}}</td>
                             <td>
                             <select name="manager">
                            {% for manager in managers %}

                             <option value ="{{manager.id}}">{{manager.name}}</option>

                              {% endfor %}                                   
                                            </select>
                                        <!-- </div> -->
                                    </td>
                                </tr>

                                {% endfor %}

                            </tbody>
                        </table>

Here is my model for manager:这是我的经理模型:

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

def __str__(self):
    return self.name

Here is my views.py ;这是我的views.py

def accept(request):
obj= Create_Team.objects.filter(status='Accept') 
if request.method == 'POST':
   acc = manager()
   manager_id = int(request.POST.get('manager', 1))
   acc.manager = manager.objects.get(pk=manager_id)

return render(request, "admin/accept.html", {"object": obj})

In the admins page, I want to display all the names of the managers.在管理员页面中,我想显示所有经理的姓名。 I have added the image of the admin page.我添加了管理页面的图像。

I think you forgot to include the managers queryset in the context variable我想你忘了在上下文变量中包含managers

def accept(request):
    obj= Create_Team.objects.filter(status='Accept')
    managers = manager.objects.all()
    if request.method == 'POST':
       acc = manager()
       manager_id = int(request.POST.get('manager', 1))
       acc.manager = manager.objects.get(pk=manager_id)

    return render(request, "admin/accept.html", {"object": obj, "managers": managers})

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM