#python-3.x #django #django-models #django-views #django-templates
Вопрос:
У меня есть 3 модели, на которых я использую свой запрос:
Models.py
class Student(models.Model):
...
class SchoolPeriod(models.Model):
period = models.CharField(max_length = 100)
class StudentGrade(models.Model):
student = models.ForeignKey(Student, on_delete=models.CASCADE,)
period = models.ForeignKey(SchoolPeriod, ...)
subjects = models.ForeignKey(Subject, on_delete=models.CASCADE)
grade = models.DecimalField(default = 75.00, max_digits=4, decimal_places=2)
class YearLevel(models.Model):
year_level = models.CharField(...)
school_level = models.CharField(...)
class Section(models.Model):
year_level = models.OneToOneField(YearLevel, on_delete=models.SET_NULL, null = True)
section = models.CharField(max_length = 100)
adviser = models.ForeignKey(Teacher, on_delete = models.SET_NULL, null = True, blank = True)
class Subject(models.Model):
subject_name = models.CharField(max_length = 100)
Views.py
def viewgrade(request):
current_parent = request.user.parent #gets current logged in parent
tempstudent = Student.objects.get(parent = current_parent ) #gets student related to parent(theres no student user level)
studentgrade = StudentGrade.objects.filter(student = tempstudent) #filters the grades of the student related to the parent logged in
...
context = {
...
'studentgrade': studentgrade,
}
return render(request, 'Information/viewgrade.html', context)
viewgrade.html(шаблон)
<table style="width:50%">
<tr>
<th>Subject</th>
<th>Grade</th>
</tr>
{% for studentgrade in studentgrade %}
<tr>
<td>{{ studentgrade.subjects }}</td>
<td>{{ studentgrade.grade }}</td>
</tr>
{% endfor %}
</table>
Что я могу сделать, так это напечатать в своем шаблоне оценки УЧЕНИКА, связанные с РОДИТЕЛЕМ, который в данный момент вошел в систему.
Но я также хочу организовать это в соответствии с периодом оценки(квартал)
пример:
**first grading**
Science = 99
Math = 99
**second grading**
Science = 70
Match = 70
Спасибо за помощь!
Комментарии:
1. Что делать, если существует несколько
Student
s с одним и тем жеparent
?2. Можете ли вы показать нам остальную часть вашего models.py файл,я думаю, что вам нужно перебирать предметы, такие как {{для предмета в studentgrade.subjects.objects.all}}, потому что он возвращает набор запросов
3. @WillemVanOnsem тогда у меня были бы проблемы, спасибо! может быть, мне следует изменить его на getlist?
4. @MohcenCH Подойдет, я добавлю всю свою model.py
5. Я все еще застрял здесь, может кто-нибудь помочь?