Flask SQLAlchemy 多重外键关联查询 - 结合多个表进行高效数据获取
使用 Flask 和 SQLAlchemy 在多个表之间进行多重外键关联查询,可以有效地连接多个数据库表并获取相关数据。以下是一个示例:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config['SQLALCHEMY_DATABASE_URI'] = 'your_database_uri'
db = SQLAlchemy(app)
# 定义模型
class HandleGaochabiaoComparisonResult(db.Model):
id = db.Column(db.Integer, primary_key=True)
zhenduan_id = db.Column(db.Integer, db.ForeignKey('handle_gaochabiao_zhenduan.id'))
# ...
class HandleGaochabiaoCezhan(db.Model):
id = db.Column(db.Integer, primary_key=True)
# ...
class HandleGaochabiaoMatchs(db.Model):
id = db.Column(db.Integer, primary_key=True)
ceduans_details_id = db.Column(db.Integer, db.ForeignKey('handle_gaochabiao_ceduans_details.id'))
# ...
class HandleGaochabiaoCeduansDetails(db.Model):
id = db.Column(db.Integer, primary_key=True)
# ...
class HandleGaochabiaoZhenduan(db.Model):
id = db.Column(db.Integer, primary_key=True)
# ...
# 执行关联查询
result = HandleGaochabiaoComparisonResult.query \
.join(HandleGaochabiaoZhenduan) \
.join(HandleGaochabiaoMatchs) \
.join(HandleGaochabiaoCeduansDetails) \
.join(HandleGaochabiaoCezhan) \
.all()
在此示例中,我们定义了每个表的模型及其使用外键的关联关系。然后,我们通过对每个关联操作链式调用 join() 方法来执行关联查询。最后,我们使用 all() 方法检索结果。
注意:请将 'your_database_uri' 替换为您的数据库的实际 URI。
原文地址: https://www.cveoy.top/t/topic/qeNz 著作权归作者所有。请勿转载和采集!