J'essaie de résoudre le cas suivant:requête pour plusieurs tables ManyToMany pour obtenir des données de plusieurs modèles dans django
nombre des étudiants a beaucoup de sujets, mais seulement certains sujets sont marqués comme ses sujets d'actualité, une salle de classe a plusieurs sujets , l'élève peut transporter des sujets d'une autre salle de classe que l'on peut vérifier dans sa classe actuelle.
Je veux obtenir tous les sujets que l'élève a actuellement avec toutes les classes que ces matières ont avec le statut de classe, actuel ou non.
class Student(models.model):
id = models.OnetoOneField(User)
class Subject(models.Model):
Subject_Master_Id=models.AutoField(primary_key=True)
Subject_Name=models.CharField(max_length=100,blank=False,unique=True)
user = models.ManyToManyField(Student,through = 'Student_Subject')
class Classroom(models.Model):
Class_Master_Id=models.AutoField(primary_key=True)
Classroom_Student = models.ManyToManyField(Student,through='Classroom_Student',related_name='classroom_student')
Classroom_Subject = models.ManyToManyField(Subject,through='Classroom_Subject',related_name='classroom_subject')
class Student_Subject(models.Model):
Student_Subject_Id = models.AutoField(primary_key=True)
subject= models.ForeignKey(Subject,on_delete = models.CASCADE, related_name='student_subject')
user=models.ForeignKey(Student,on_delete = models.CASCADE, related_name='student_subject')
is_current = models.BooleanField()
class Classroom_Student(models.Model):
Classroom_Student_Id=models.AutoField(primary_key=True)
Classroom_Id=models.ForeignKey(Classroom,on_delete=CASCADE)
Student_Id=models.ForeignKey(Student,on_delete=CASCADE, related_name= 'student')
is_current = models.BooleanField()
class Classroom_Subject(models.Model):
Classroom_Subject_Id=models.AutoField(primary_key=True)
Classroom_Id=models.ForeignKey(Classroom,on_delete=CASCADE)
Subject_Id=models.ForeignKey(Subject,on_delete=CASCADE, related_name='subject')