【问题标题】:Sqlalchemy ORM filter None and FalseSqlalchemy ORM 过滤器 None 和 False
【发布时间】:2021-05-06 12:54:01
【问题描述】:

我尝试按名为 valid 的列过滤我的实体,为此我在下面应用简单的过滤器

session.query(Mymodel).filter(Mymodel.valid !=True)

问题是我对有效字段有 None、False 和 True 语句。

我怎样才能做正确的过滤器也返回 False 和 None?

【问题讨论】:

  • .filter(Mymodel.valid.isnot(True)) 呢?
  • @finswimmer 它给出了所有 True、Fals 和 None。它不起作用
  • 请添加一个包含您的模型的最小示例。您使用的是哪个数据库后端?
  • @finswimmer 请看下面我的回答

标签: python sqlalchemy


【解决方案1】:

我想通了。

SQLAlchemy 有自己的编写 SQL 语句的神奇方法,它可以与== or != 一起操作

为了得到 None 和 False 需要做的事情

session.query(or_(Mymodel.valid == False, Mymodel.valid == None)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-12
    • 1970-01-01
    • 2020-04-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多