Как передать условные атрибуты шаблону в Django ListView
Я пытаюсь сделать список сотрудников, который каждый день содержит информацию ("today_note") о том, присутствуют ли они на работе или болеют.
У меня не было проблем сделать это во Flask, я просто создал шаблон, как показано ниже:
def employees_list():
all_employees = Employee.query.order_by(Employee.name).all()
today = date.today()
for employee in all_employees:
today_sick = db.session.query(SickLeave).filter(SickLeave.start_date <= today).filter(
SickLeave.end_date >= today).filter(SickLeave.person_id == employee.id).all()
if len(today_sick) != 0:
employee.today_note = "C"
else:
employee.today_note = "✓"
return render_template("employees_list.html", all_employees=all_employees)
и мог получить доступ к today_note для каждого сотрудника в шаблоне:
{% for employee in all_employees %}
{{ employee.today_note }}
{% endfor %}
Теперь мне нужно сделать то же самое в django. Я не могу понять, как передать today_note каждому экземпляру модели User, чтобы иметь возможность отобразить его в шаблоне.
class AllEmployeesList(ListView):
template_name = "users/all_employees.html"
model = User
context_object_name = 'employees'
def get_context_data(self, **kwargs):
context = super(AllEmployeesList, self).get_context_data(**kwargs)
all_employees = User.objects.all()
today = date.today()
for employee in all_employees:
today_sick = Sickleave.objects.filter(Q(start_date__lte=today)&Q(end_date__gte= today)&Q(employee__id=employee.id)).all()
if len(today_sick) != 0:
employee.today_note = "C"
else:
employee.today_note = "✓"
return context
Я осознаю, что здесь мне совершенно не хватает ссылки на контекст