Я новичок в django и пытаюсь создать веб-приложение, подобное Системе управления сотрудниками.Я пытаюсь назначить лидерство каждому сотруднику.
Я пытался найти это отношение Сотрудник-менеджер, чтобы выполнить мое требование в течение длительного времени.
class Profile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE)
designation = models.CharField(max_length=20, null=False, blank=False)
empid = models.IntegerField(null=True, blank=True)
manager = models.ForeignKey('self', null=True, blank=True, on_delete=models.CASCADE)
class Project(models.Model):
company = models.CharField(max_length=35)
project = models.CharField(max_length=100)
employee_name = models.ForeignKey(User, null=True, blank=True, on_delete = models.CASCADE)
views.py:
@login_required(login_url="/login/")
def employee_details(request, id=None):
context = {}
context['user'] = get_object_or_404(User, id=id)
return render(request, 'employee/details.html', context)
@login_required(login_url="/login/") @admin_only def employee_edit(request, id=None):
user = get_object_or_404(User, id=id)
if request.method == 'POST':
user_form = UserForm(request.POST, instance=user)
if user_form.is_valid():
user_form.save()
return HttpResponseRedirect(reverse('employee_list'))
else:
return render(request, 'employee/edit.html', {"user_form": user_form})
else:
user_form = UserForm(instance=user)
return render(request, 'employee/edit.html', {"user_form": user_form})
edit.html
<form method="POST">
{% csrf_token %}
<table class="table table-bordered table-light">
{{user_form.as_table}}
</table>
<br>
<button type="submit" class="btn btn-warning float-right">Update Profile</button>
</form>
details.html
{% extends 'base.html' %}
{% block content %}
<br>
<table class="table table-light table-bordered table-striped">
<tbody>
<tr>
<th>First Name</th>
<td>{{user.first_name}}</td>
</tr>
<tr>
<th>Last Name</th>
<td>{{user.last_name}}</td>
</tr>
<tr>
<th>Email Id</th>
<td>{{user.email}}</td>
</tr>
<tr>
<th>Employee ID</th>
<td>{{user.profile.empID}}</td>
</tr>
<tr>
<th>Designation</th>
<td>{{user.profile.designation}}</td>
</tr>
<tr>
<th>Reporting to</th>
<td>{{user.profile.Manager}}</td>
</tr>
<!-- <tr>
<th>Designation</th>
<td>{{user.profile.designation}}</td>
</tr> -->
</tbody>
</table>
<div class="text-right">
<a class="btn btn-warning" href="{% url 'employee_edit' user.id %}">Edit</a>
</div>
{% endblock content %}
Я могу выбрать менеджера (который также является сотрудником) для сотрудникапри добавлении нового сотрудника.Однако после сохранения сотрудника менеджер не отображается на странице сведений.В чем может быть причина, почему я не включаю менеджера в список сотрудников?Есть ли что-то, что я здесь скучаю?