#python #html #django
#python #HTML #django
Вопрос:
У меня возникла проблема, когда данные, которые я пытаюсь ввести в таблицу, не отображаются должным образом. Я считаю, что мои запросы верны, поскольку они возвращают правильную информацию, когда я их тестирую, но когда я пытаюсь напечатать их в таблице, они выводятся неправильно.
Я пытался возиться с разными циклами for, разными типами html-тегов, но безуспешно.
<div class="table-responsive">
<table class="table align-items-center table-flush">
<thead class="thead-light">
<tr>
<th scope="col"> Student</th>
{% for Date in class_dates %}
<th scope="col">{{Date.date}}</th>
{% endfor %}
</thead>
</tr>
<tbody>
{% for students in all_students %}
<tr>
<th scope="row">
<div class="media-body">
<a href="/student/" class="mb-0 text-sm">{{students.student_name}} </a>
</div>
</th>
<td>
{% for date in class_dates %}
{% ifequal date.dates attendance.date %}
{{students.status}}
{% endifequal %}
</td>
{% endfor %}
{% endfor %}
</tr>
</tbody>
</table>
Для всех других дат печатаются только даты на 7 апреля снова и снова. Поскольку есть только два студента, кажется, что для каждого студента требуется только одна дата. Каждая другая дата должна иметь свой собственный статус. Содержимое, выводимое запросами, является правильным.
Обновление: вот запросы
class_dates = Class.objects.filter(course=301)
all_students = Student.objects.select_related().raw('SELECT * '
'FROM students as S, classes as CL, attendances as A '
'WHERE CL.course_id = 301 AND S.student_id = A.students '
'AND CL.course_id = A.classes AND CL.date = A.date '
'GROUP BY student_name'
)
status = Student.objects.select_related().raw('SELECT A.*'
'FROM students as S, classes as CL, attendances as A '
'WHERE CL.course_id = 301 AND CL.course_id = A.classes '
'AND CL.date = A.date '
'GROUP BY A.id'
'ORDER BY A.students'
)
all_students — это то, что перечисляет студентов, а all class_dates — это то, что перечисляет даты в заголовке. Статус — это то, что должно быть заполнено в таблице.
Комментарии:
1. Вам нужно опубликовать свои модели и представление, которое отображает этот шаблон. Что такое
all_students
иclass_dates
?2. @DanielRoseman Я только что обновил ими сообщение, но список студентов — это all students , а список дат — all class_dates. Статус — это то, что должно быть заполнено в таблице.
3. Вам нужно показать определения модели класса и учащегося, плюс остальную часть этого представления. Где
status
используется? Чтоattendance
в шаблоне? И почему вы используете необработанные запросы?