【问题标题】:SqlAlchemy Join QuerySqlAlchemy 连接查询
【发布时间】:2016-09-03 22:37:40
【问题描述】:

我有这样的表格:

盒子

|- 问题[]

问题

|- status_id

|- 状态(通过 status_id 关联)

状态

|- 标识

我想获取所有框,其中每个框的“问题”字段将仅包含没有 status_id = 5 的问题。以下不起作用

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

上面的代码有什么问题?

【问题讨论】:

    标签: python sqlalchemy flask-sqlalchemy


    【解决方案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()
    

    【讨论】:

      猜你喜欢
      • 2019-12-13
      • 1970-01-01
      • 2012-05-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-18
      • 2017-03-17
      • 2015-03-10
      相关资源
      最近更新 更多