SQLAlchemy 如何进行跨库联表查询?
class ScoreSample(db.Model):
__bind_key__ = 'database01'
__tablename__ = 'score_sample'
id = db.Column(db.Integer, primary_key=True)
score_id = db.Column(db.Integer,ForeignKey(SysScores.id))
note_range= db.Column(db.String)
hand_type = db.Column(db.Integer)
audio_url = db.Column(db.String)
app_type = db.Column(db.Integer)
created_at = db.Column(db.DATETIME, default=datetime.now)
updated_at = db.Column(db.DATETIME, default=datetime.now)
class Tasks(db.Model):
__bind_key__ = 'database02'
__tablename__ = 'tasks'
id = db.Column(db.Integer, primary_key=True)
sample_id = db.Column(db.Integer,ForeignKey(ScoreSample.id))
status = db.Column(db.Integer)
taskmaster_id = db.Column(db.Integer,ForeignKey(TaskMasters.id))
created_at = db.Column(db.DATETIME, default=datetime.now)
updated_at = db.Column(db.DATETIME, default=datetime.now)
score_sample = relationship("ScoreSample")
ScoreSample.query.filter(ScoreSample.id.in_(db.session.query(Tasks.sample_id).filter(Tasks.id.in_(task_id)))).all()
database01和database02 分别是两个数据库链接
虽然指定了bind_key,但查询时还是报(1146, “Table ‘database01.tasks’ doesn’t exist”) ,如何才能实现跨库联表查询呢
推荐文章: