SqlAlchemy加入查询

时间:2016-09-03 14:08:39

标签: python sqlalchemy flask-sqlalchemy

我有这样的表:

| - issues []

问题

| - status_id

| - status(通过status_id相关)

状态

| - id

我希望获得所有框,其中每个框的“问题”字段仅包含没有status_id = 5的问题。以下内容无效

db.session.query(Box).join(Issue).filter(Issue.status_id!= 5).all()

上述代码有什么问题?

1 个答案:

答案 0 :(得分:1)

如果我理解了你的情况,我认为你正在寻找以下内容:

db.session.query(Box).outerjoin(Box.issues).filter(or_(Issue.status_id.is_(None), Issue.status_id != 5)).options(contains_eager(Box.issues)).all()