python,sqlalchemy检查无,带==引发参数错误

时间:2018-02-04 14:23:57

标签: python postgresql sqlalchemy

我有一个查询,它试图获取与用户表连接的特定事件集的用户列表,以检查用户是否未标记特定标志" dnd" (标志列也可以具有空值)。查询是这样的:

query = session.query(Event.uid).filter(Event.event.in_(event_list)).\
        join(User, and_((User.id == Event.uid), \
        or_(User.flag == None, User.flag != "dnd")))

它引发了一个Argument错误异常

ArgumentError("Only '=', '!=', 'is_()', 'isnot()' operators can
be used with None/True/False",)

我已经尝试了其他可能性/建议(如下所列),但仍然会遇到同样的错误:

  1. 使用#noqa
  2. check" User.Flag是None"
  3. 检查" User.Flag.is_(无)"
  4. 在其他地方,当我只使用没有连接的用户表进行检查时,它似乎可以正常工作。例如:

    User.query.filter(User.flag == None, User.flag != "dnd").all()
    

    作品。

    正在使用的数据库是postgresql。

    如何检查此连接中的NULL值?

0 个答案:

没有答案