Ошибка при попытке создать на Django школьное расписание, которое автоматически заполняется кнопками в нужное время и день недели

Я пытаюсь создать школьное расписание на Django, которое автоматически заполняется кнопками после его создания. Я потратил много времени, пытаясь придумать способ, так как я все еще не очень опытен в программировании и очень новичок в Django, но я пытался сделать это с помощью циклов "for", используя вложенный словарь в представлениях, но из-за моего отсутствия понимания и опыта я не могу понять, откуда берется ошибка (VariableDoesNotExist at /timetable/ Failed lookup for key [end_time] in 'monday').

вот мой models.py таблицы расписания (некоторые вещи на португальском):


class Horario(models.Model):
    ID_Horario = models.BigAutoField(primary_key=True)
    ID_Sala = models.ForeignKey(Sala, on_delete=models.CASCADE)
    ID_Turma = models.ForeignKey(Turma, on_delete=models.CASCADE)
    ID_Professor = models.ForeignKey(Professor, on_delete=models.CASCADE)
    Hora_inicio = models.TimeField()
    Hora_fim = models.TimeField()
    Dia_semana = models.CharField(max_length=100)
    Disciplina = models.CharField(max_length=100)

вот моя страница просмотров (где я предполагаю, что сделал что-то не так):

def timetable(request):
    horario_entries = Horario.objects.all()
    timetable_data = {}

    for entry in horario_entries:
        day_of_week = entry.Dia_semana
        subject = entry.Disciplina
        start_time = entry.Hora_inicio.strftime('%H:%M')
        end_time = entry.Hora_fim.strftime('%H:%M')
        

        
        timetable_data[day_of_week] = {}

        
        timetable_data[day_of_week][start_time] = {}

        
        timetable_data[day_of_week][start_time][end_time] = {}

        timetable_data[day_of_week][start_time][end_time][subject] = {'entries': []}


        # Append the entry to the 'entries' list
        timetable_data[day_of_week][start_time][end_time][subject]['entries'].append(entry)

    return render(request, 'testetimetable.html', {'timetable_data': timetable_data})

и, наконец, вот мой журнал ошибок:

Error during template rendering
In template C:\Users\danie\OneDrive\Documentos\PAP\teste16\django-soft-ui-dashboard-master\home\templates\testetimetable.html, error at line 26

Failed lookup for key [%s] in %r
16      <th>monday</th>
17      <th>tuesday</th>
18      <th>wednesday</th>
19      <th>thursday</th>
20      <th>friday</th>
21      <th>saturday</th>
22      <th>sunday</th>
23    </tr>
24    {% for x, schedule in timetable_data.items %}
25    <tr>
26      <th>{{ x.start_time|add:" - "|add:x.end_time }}</th>
27  
28      {% for day, entries in schedule.items %}
29        <td>
30          {% for entry in entries %}
31            <!-- Here you can create buttons or display other information -->
32            <button>{{ entry.subject }}</button>
33          {% endfor %}
34        </td>
35      {% endfor %}
36    </tr>

Я попытался перевести большую часть материала на английский, чтобы легче было понять.

Я не уверен, есть ли более простой способ сделать то, что я задумал, так что если есть, я буду рад узнать

Вернуться на верх