Отношения "многие ко многим" - Django
Я хочу создать студенческий портал со страницей администратора и страницей клиента на django. Каждый студент должен быть зачислен в класс и у него должна быть оценка за этот класс.
Это мой models.py
class Course(models.Model):
name = models.CharField(max_length=50)
def __str__(self):
return self.name
class Student(models.Model):
name = models.CharField(max_length=50)
courses = models.ManyToManyField(Course, through='courseInfo')
def __str__(self):
return self.name
class courseInfo(models.Model):
course = models.ForeignKey(Course, on_delete=models.CASCADE)
student = models.ForeignKey(Student, on_delete=models.CASCADE)
grade = models.IntegerField()
В шаблоне я хочу показать классы, в которые зачислены ученики, и оценки за эти классы. В конечном итоге я собираюсь установить динамический шаблон syestem
Вот мой views.py
from django.shortcuts import render
from main.models import Course, courseInfo, Student
def home(request):
student_id = 1
context = {
'student': Student.objects.get(id=student_id),
'courses': courseInfo.objects.all().student_set.all
}
return render(request, 'facultyUi/student.html', context)
и вот мой шаблон
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
{% for course in courses %}
{{ course.grade }}
{% endfor %}
</body>
</html>
Я не могу найти никакой сулюции, так что если кто-нибудь может показать мне, что делать здесь, я буду очень признателен за это. Спасибо.