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

python sqlalchemy 如何做exclude查詢

數(shù)據(jù)庫是mysql, 查了文檔沒有找到exclude,只有個(gè)except_。
假如我的表叫做 table_a, 有個(gè)status字段,如果是單一字段,可以使用 != 就做到了exclude,
如果是范圍應(yīng)該怎么寫?比如有字段date,查詢不在某一時(shí)間范圍的所有記錄,在時(shí)間范圍可以這樣


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

上面的代碼查詢?cè)诋?dāng)前時(shí)間到2個(gè)小時(shí)前的數(shù)據(jù),如果我想查詢這個(gè)范圍之外的所有數(shù)據(jù)要怎么寫?
大佬們指導(dǎo)下。

回答
編輯回答
失魂人

sql to sqlachemy 項(xiàng)目,你值得看看

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

使用 NOT BETWEEN 便可,請(qǐng)參考 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