Прежде всего, имя вашей модели "Классы" должно быть в единственном числе, может быть что-то вроде "Курс". И затем в этой модели я вижу, что у нее есть многозначное поле «ученик», его родственное имя должно быть чем-то, что модель ученика использует для обозначения «Курс», поэтому родственное имя должно быть «курсы».
Поэтому ваша модель «Классы» должна выглядеть следующим образом:
class Course(models.Model):
book = models.CharField(max_length=250)
grade = models.CharField(max_length=250)
teacher = models.ForeignKey(Teacher,on_delete=models.CASCADE)
student = models.ManyToManyField(Student,related_name='courses')
date_created = models.DateTimeField(auto_now_add=True)
def __str__(self):
return self.grade
Чтобы ответить на ваш вопрос о том, как найти оценку и учебники, поскольку учащийся может посещать различные курсы, вы можете получить соответствующую оценку и Записывайтесь на каждый курс студента Джейн Доу, выполнив:
student = Student.objects.get(first_name='Jane', last_name='Doe')
courses = student.courses.all()
grade_book_list = couses.values_list('book', 'grade')