【发布时间】:2019-09-24 19:40:45
【问题描述】:
我是 django 的新手,正在从事一个项目,管理员必须将团队分配给经理,而当管理员将团队分配给经理时,它只会显示在该经理的仪表板上。我不知道我该怎么做这。请如果有人可以帮助请帮助我。
这是我的 .html 管理员文件,管理员可以从中将团队分配给经理。
<th>S No.</th>
<th>COMPANY NAME</th>
<th>TEAM MEMBER</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>
<select name="manager_{{manager.id}}">
{% for manager in managers %}
<option value ="{{manager.id}}">{{manager.name}}</option>
{% endfor %}
</select>
</td>
<td>
<input class="btn btn-raised btn-primary btn-round waves-effect" type="submit" value="Assign">
</td>
</tr>
{% endfor %}
这是我的团队和经理模型:
class Create_Team(models.Model):
first_name = models.CharField(max_length= 50)
last_name = models.CharField(max_length= 50)
company_name = models.CharField(max_length= 100)
address = models.CharField(max_length= 1000)
state = models.CharField(max_length= 100)
city = models.CharField(max_length= 100)
status = models.CharField(max_length= 30)
managers = models.ForeignKey('manager', on_delete = models.SET_NULL, null=True)
class manager(models.Model):
name = models.CharField(max_length= 500)
designation = models.CharField(max_length= 500)
这是我的views.py 文件,用于经理和管理员从哪里接受请求:
def accept(request):
obj= Create_Team.objects.filter(status='Accept')
managers = manager.objects.all()
if request.method == 'POST':
createteam = Create_Team()
createteam_id = int(request.POST.get('team', 1))
manager_id = int(request.POST.get('manager', 1))
createteam = Create_Team.objects.get(pk=createteam_id)
createteam.manager = manager.objects.get(pk=manager_id)
createteam.save()
return render(request, "admin/accept.html", {"object": obj, "managers": managers})
def superior(request):
return render(request, 'manager/index-3.html')
这是我的观点,我正在检查用户是管理员还是用户还是经理
def login(request):
if request.method =='POST':
# print(request.POST)
username = request.POST['username']
password = request.POST['password']
user = auth.authenticate(username=username, password=password)
if user is not None:
auth.login(request, user)
print (user.has_perm('app.edit_task'))
# return redirect('index')
if user.is_superuser:
return redirect('master')
# elif user.has_perm('app.edit_task'):
# return redirect('manager')
elif user.is_staff:
return redirect('manager')
else:
return redirect('index')
else:
messages.error(request, 'Invalid Credentials')
return redirect('login')
else:
return render(request, 'vadash/sign-in.html')
我希望每当管理员单击分配按钮时,该团队就会显示给该经理。请帮助我。但是这段代码没有更新数据库。
【问题讨论】:
标签: html django django-models django-templates django-views