【发布时间】:2020-04-22 01:32:11
【问题描述】:
我有三个表,result,course,study,如下所示
class Study(models.Model):
id_study = models.IntegerField(primary_key=True)
study_name = models.CharField(max_length=45)
description = models.CharField(max_length=45, blank=True, null=True)
language = models.CharField(max_length=45)
number_of_years = models.CharField(max_length=45)
class Course(models.Model):
id_course = models.AutoField(primary_key=True)
course_name = models.CharField(max_length=45, blank=True, null=True)
description = models.CharField(max_length=45, blank=True, null=True)
credits = models.CharField(max_length=45, blank=True, null=True)
teacher_id_teacher = models.ForeignKey('Teacher', models.DO_NOTHING, db_column='teacher_id_teacher')
study_id_study = models.ForeignKey('Study', models.DO_NOTHING, db_column='study_id_study')
class Exam(models.Model):
id_exam = models.AutoField(primary_key=True)
room = models.CharField(max_length=45, blank=True, null=True)
resit = models.CharField(max_length=45, blank=True, null=True)
date = models.DateField(blank=True, null=True)
time = models.TimeField(blank=True, null=True)
course_id_course = models.ForeignKey(Course, models.DO_NOTHING, db_column='course_id_course')
class Result(models.Model):
id_result = models.AutoField(primary_key=True)
grade = models.IntegerField(blank=True, null=True)
exam_id_exam = models.ForeignKey(Exam, models.DO_NOTHING, db_column='exam_id_exam')
date = models.DateField(blank=True, null=True)
student_id_student = models.ForeignKey('Student', models.DO_NOTHING, db_column='student_id_student')
passed = models.CharField(max_length=45, blank=True, null=True)
我想根据我给出的 study_id 得到一个结果对象
成绩取决于考试,考试取决于课程,课程取决于学习
提前致谢
【问题讨论】:
-
Result->Course关系在哪里? -
我认为您将“取决于”与“是的孩子”混淆了。一章是一本书的孩子。给定一本书,您无法获得独特的章节。给定一章,您将拥有一本独特的书,它是其中的一部分。结果是我认为您的结果不是唯一确定的。对于一个学习对象,您将获得一组课程。即 study.course_set.all()
-
@IainShelvington 我刚刚纠正了我的问题 :)
标签: python mysql sql django django-models