【发布时间】:2018-02-09 02:55:25
【问题描述】:
我正在尝试解决以下情况:
许多学生有很多科目但只有一些科目被标记为他当前的科目,一个教室有多个科目,学生可以携带其他教室的科目,可以从他当前的教室检查。
我想获取学生当前拥有的所有科目以及该科目拥有的所有课堂以及课堂状态,无论是当前的还是非当前的。
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')
【问题讨论】:
标签: django django-views many-to-many python-3.4 django-orm