python sqlalchemy 如何做exclude查询

数据库是mysql, 查了文档没有找到exclude,只有个except_。
假如我的表叫做 table_a, 有个status字段,如果是单一字段,可以使用 != 就做到了exclude,
如果是范围应该怎么写?比如有字段date,查询不在某一时间范围的所有记录,在时间范围可以这样


from datetime import datetime
table_a.query.filter(table_a.date.between(datetime.now()-datetime.timedelta(hours=2), now)))

上面的代码查询在当前时间到2个小时前的数据,如果我想查询这个范围之外的所有数据要怎么写?
大佬们指导下。

阅读 5.5k
3 个回答

使用 NOT BETWEEN 便可,请参考 SQL 语法, https://www.w3schools.com/sql...

MyModel.query.filter(sqlalchemy.not_(Mymodel.name.between(1, 100)))

# 或启用 SYMMETRIC 模式,无论 a > b 或 a < b
MyModel.query.filter(sqlalchemy.not_(Mymodel.name.between(a, b, symmetric=True)))

可以了,感谢

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题