flask sqlalchemy Multiple joins in one call 无外键
时间: 2024-02-24 18:54:13 浏览: 92
Python利用flask sqlalchemy实现分页效果
如果没有外键,你可以使用 `join` 函数来进行多个表的连接。例如,如果你有三个表 `table1`、`table2` 和 `table3`,你可以使用以下代码进行多个表的连接:
```python
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class Table1(db.Model):
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(50))
class Table2(db.Model):
id = db.Column(db.Integer, primary_key=True)
table1_id = db.Column(db.Integer)
name = db.Column(db.String(50))
class Table3(db.Model):
id = db.Column(db.Integer, primary_key=True)
table2_id = db.Column(db.Integer)
name = db.Column(db.String(50))
# Join multiple tables
query = Table1.query.join(Table2, Table1.id == Table2.table1_id).join(Table3, Table2.id == Table3.table2_id).all()
```
在上面的代码中,使用 `join` 函数连接了三个表,并使用 `all()` 函数返回了所有记录。请注意,在没有外键的情况下,你需要手动指定连接条件。
阅读全文