我有一个查询,它试图获取与用户表连接的特定事件集的用户列表,以检查用户是否未标记特定标志" 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",)
我已经尝试了其他可能性/建议(如下所列),但仍然会遇到同样的错误:
在其他地方,当我只使用没有连接的用户表进行检查时,它似乎可以正常工作。例如:
User.query.filter(User.flag == None, User.flag != "dnd").all()
作品。
正在使用的数据库是postgresql。
如何检查此连接中的NULL值?