Модель
timetable_choices =(
('Monday','Monday'),
('Tuesday','Tuesday'),
('Wednesday','Wednesday'),
('Thursday','Thursday'),
('Friday','Friday'),
('Saturday','Saturday'),
)
class Timetable(models.Model):
day = models.ForeignKey('Day',on_delete=models.CASCADE,blank=True,null=True)
start = models.IntegerField()
end = models.IntegerField()
subject = models.CharField(max_length=12)
class Day(models.Model):
day = models.CharField(max_length=9, choices=timetable_choices)
Я уже заполнил таблицы «День» и «Расписание».
Просмотры
class Timetabletemplate(TemplateView):
template_name = 'timetable.html'
def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
context['timetable'] = Timetable.objects.all()
context['monday'] = Timetable.objects.filter(day="Monday")
return context
Template
<table style="width:100%">
<tr>
<th></th>
<th>1</th>
</tr>
<tr>
<td>Monday</td>
{% for item in monday %}
<td>{{item.subject}}</td>
{% endfor %}
</tr>
</table>
То, что я пытаюсь сделать, это сделать объект в ячейке. У меня есть n предметов, количество предметов зависит от того, сколько предметов было добавлено пользователем. Я хочу, чтобы субъекты, когда день = понедельник в первом ряду, и аналогично, когда день = вторник, среда - в соответствующих строках ниже понедельника.
Я получаю сообщение об ошибке
invalid literal for int() with base 10: 'Monday'
, когда я пробовал этот код.