Я новичок в 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')
Я хочу, чтобы всякий раз, когда администратор нажимал кнопку назначения, эта команда отображалась для этого менеджера. Пожалуйста, помогите мне.Но этот код не обновляет базу данных.