Как получить конкретный идентификатор для моей задачи в Django?
У меня есть приложение django, в котором я вхожу как администратор и добавляю задачи для конкретного сотрудника. Затем я вхожу в систему как сотрудник и должен завершить задачу, когда она будет выполнена. Я отображаю мои активные задачи в таблице в html-шаблоне и хочу, чтобы завершенная задача is_active = 0, чтобы проверить, что задача выполнена. Я также хочу хранить дату завершения задачи в closed_at. Мой models.py:
class Employee(models.Model):
id = models.AutoField(primary_key=True)
user = models.OneToOneField(User, on_delete=models.CASCADE)
objects = models.Manager()
address=models.TextField()
created_at = models.DateTimeField(auto_now_add = True)
updated_at = models.DateTimeField(auto_now_add = True)
active_tasks = models.IntegerField(default = 0)
completed_tasks = models.IntegerField(default = 0)
daily_r = models.IntegerField(default = 0)
weekly_r = models.IntegerField(default = 0)
monthly_r = models.IntegerField(default = 0)
annual_r = models.IntegerField(default = 0)
class Tasks(models.Model):
id = models.AutoField(primary_key=True)
employee_id = models.ForeignKey(Employee,blank=True,null=True,on_delete=models.CASCADE)
is_active = models.IntegerField(default = 1)
headline = models.CharField(max_length = 100)
body = models.TextField()
created_at = models.DateTimeField(auto_now_add = True)
assigned_at =models.DateTimeField(auto_now_add = True)
closed_at = models.DateTimeField(auto_now_add = True)
Мой views.py
def viewActiveTasks(request):
current_user = request.user
current_user_id = current_user.id
employees = Employee.objects.filter(user_id = current_user_id)
user_employees = User.objects.filter(is_employee=1)
tasks = Tasks.objects.filter()
return render(request, "employees_active_tasks.html", {'employees':employees,'user_employees':user_employees,'tasks':tasks})
def endTask(request):
employee=Employee.objects.get(user_id=request.user)
task = Tasks.objects.get(is_active = 1).employee_id.first()
if employee.user_id== request.user.id :
Tasks.objects.filter().update(is_active=0)
employee.completed_tasks = F('completed_tasks')+1
employee.active_tasks = F('active_tasks')-1
employee.save()
return render(request, "employees_end_tasks.html")
HTML файл
<tbody>
{%if user.is_authenticated%}
{% for i in employees %}
{%for j in user_employees%}
{%for task in tasks%}
{%if j.id == i.user_id and i.id == task.employee_id_id and task.is_active == 1 %}
<tr>
<td>{{task.headline}}</td>
<td>{{task.body}}</td>
<td>{{task.assigned_at}}</td>
<td>{{j.username}}</td>
<td>
{% csrf_token %}
<a class="btn btn-primary" href="{% url 'endTask' task.id %}" name ="endTask" action = "endTask" type="submit">End Task</a>
</td>
</tr>
{%endif%}
{%endfor%}
{%endfor%}
{%endfor%}
{%endif%}
</tbody>
Я хочу знать, что я могу сделать, чтобы получить ID задачи, которую я хочу завершить, и как я могу сохранить дату задачи, которую я завершил?