マシュマロでFlaskとSQLAlchemyを使用していて、何かに頭を悩ませようとしています。階層内で外部キーを使用して機能する複数のモデル (テーブル) がある場合、最も遠い子からの結果を適切にクエリするにはどうすればよいですか?
例えば:
class School(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
class Course(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
school_id = db.Column(db.Integer,db.ForeignKey('school.id'))
school = db.relationship("School", backref=db.backref("schoola", uselist=False))
class Student(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(60))
course_id = db.Column(db.Integer, db.ForeignKey('course.id'))
course = db.relationship("Course", backref=db.backref("coursea", uselist=False))
マシュマロにはそれぞれのスキーマがあります。ここで探しているのは、特定の学校の学生のすべての学生情報を取得する方法です (SQLAlchemy を使用)。後で、これらを JSON にシリアル化します。