【问题标题】:Check if model found anything in SQLAlchemy query检查模型是否在 SQLAlchemy 查询中找到任何内容
【发布时间】:2018-02-13 14:53:36
【问题描述】:

我正在寻找如何进行左外连接的方法,如果右表返回 None 或者如果条目存在,则返回行,某些列等于某个值。例如:

session.query(
    Teacher, Student
).outerjoin(
    Student, Teacher.subject == Student.subject
).filter(
    or_(
        Student.name == "Mark",
        # no student was found and query should return (teacher, None)
    ),
    Teacher.name == 'John'
).all()

可以这样查询吗?

尝试过 Student.is_(None) 但 is_() 只能在列上调用,而不是整个模型。

【问题讨论】:

    标签: python sqlalchemy left-join


    【解决方案1】:

    Student.id.is_(None) 修复了它,但我想知道是否有更好的解决方案 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-09-17
      • 2021-01-05
      • 1970-01-01
      • 1970-01-01
      • 2018-10-08
      • 2011-05-22
      • 1970-01-01
      相关资源
      最近更新 更多