鍍金池/ 問(wèn)答/Python  Linux/ flask-sqlalchemy 多對(duì)多怎樣查詢關(guān)聯(lián)表的其他字段?

flask-sqlalchemy 多對(duì)多怎樣查詢關(guān)聯(lián)表的其他字段?

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為關(guān)聯(lián)表,因?yàn)殛P(guān)聯(lián)表包含所有學(xué)生和課程的對(duì)應(yīng)關(guān)系,感覺正好可以加個(gè)分?jǐn)?shù)字段。如果我現(xiàn)在要給sc表加個(gè)字段“分?jǐn)?shù)”,s = Students.query.get(id),如果查詢學(xué)生學(xué)號(hào)為id的某門課或所有課程的分?jǐn)?shù)?

回答
編輯回答
失魂人

這是我的 pyblog 項(xiàng)目里的 models.py —— 希望對(duì)你有用
https://github.com/eastossifrage/pyblog/blob/master/app/models.py

請(qǐng)?zhí)貏e關(guān)注對(duì) articles 類的定義,建議你把想要查詢的內(nèi)容,直接做成為某個(gè)類的屬性,記得前面加上裝飾器 @property

2017年8月25日 05:54