flask-sqlalchemy 多对多怎样查询关联表的其他字段?

creazyloser
  • 36

from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()

sc = db.Table('sc',

db.Column('sno', db.String(10), db.ForeignKey('students.sno')),
db.Column('cno', db.String(10), db.ForeignKey('courses.cno'))
)

class Students(db.Model):

__tablename__ = 'students'
sno = db.Column(db.String(10), primary_key=True)
sname = db.Column(db.String(10))

class Course(db.Model):

__tablename__ = 'courses'
cno = db.Column(db.String(10), primary_key=True)
cname = db.Column(db.String(10), index=True)
students = db.relationship('Student',
     secondary=sc,
     backref=db.backref('courses',lazy='dynamic'),
     lazy='dynamic'
     )

比如上面这种,sc为关联表,因为关联表包含所有学生和课程的对应关系,感觉正好可以加个分数字段。如果我现在要给sc表加个字段“分数”,s = Students.query.get(id),如果查询学生学号为id的某门课或所有课程的分数?

回复
阅读 3.8k
1 个回答
藕丝空间
  • 1.7k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏