鍍金池/ 問答/Python  數(shù)據(jù)庫/ python sqlalchemy 如何做exclude查詢

python sqlalchemy 如何做exclude查詢

數(shù)據(jù)庫是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個小時前的數(shù)據(jù),如果我想查詢這個范圍之外的所有數(shù)據(jù)要怎么寫?
大佬們指導下。

回答
編輯回答
失魂人

sql to sqlachemy 項目,你值得看看

2017年9月12日 23:03
編輯回答
好難瘦

使用 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)))
2018年6月2日 19:56
編輯回答
薔薇花

可以了,感謝

2018年3月3日 02:01