django создать таблицу с контекстом - PullRequest
0 голосов
/ 04 марта 2020

Я хочу создать таблицу, подобную этой, в django listview:

enter image description here

Моя модель изучения

class Study(models.Model):
    student = models.ForeignKey(Student, on_delete=models.CASCADE)
    teacher = models.ForeignKey(Teacher, on_delete=models.CASCADE)
    time = models.TimeField(choices=time_choices)
    duration = models.DurationField(default=datetime.timedelta(minutes=20))

    class Meta:
        abstract = True


class Regular(Study):
    start_on = models.DateField(default=datetime.date.today)
    days_of_week = models.CharField(max_length=10, choices=day_of_week)

    def __str__(self):
        return '{} - on {} {}'.format(self.student, self.days_of_week, self.time)
    class Meta:
        ordering = ['days_of_week','time']

, но Я не имею ни малейшего представления о создании таблицы.


class ScheduleLV(ListView):
    template_name = 'students/study_list.html'
    context_object_name = 'study_list'
    # def get_queryset(self):
    #    return Regular.objects.all()
    queryset = Regular.objects.all().order_by('time', 'days_of_week')

    def get_context_data(self, **kwargs):
        context = super(ScheduleLV, self).get_context_data(**kwargs)
        context['temp'] = Temporary.objects.filter(
            temp_date__week=datetime.date.today().isocalendar()[1])
        return context

Я отправляю контекст в этом формате
Что я могу сделать ... пожалуйста, помогите мне.

Я пытался вот так ....

<td>{% with val='16 00 4 thursday'|change%}{% if val == None %}-{%else%}<a
                    href="{% url 'student-detail' val.student.id %}">{% if today == val.days_of_week %}<div
                        style="background-color:gray; color:white">{{val.student.eng_name}}<br>{{val.student.group}}
                    </div>
                    {%else%}{{val.student.eng_name}}<br>{{val.student.group}}{%endif%}</a>{%endif%}{% endwith %}
            </td>

но более 500 запросов делают сеть медленной ....

...