Отношения "многие ко многим" - 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>

Я не могу найти никакой сулюции, так что если кто-нибудь может показать мне, что делать здесь, я буду очень признателен за это. Спасибо.

Вернуться на верх