Python 中的布林值相等:解決Flake8 警告
在Python 中,在過濾器中使用時,將布林值與「 ==」進行比較可能會觸發flake8 警告SQLAlchemy 查詢的子句。具體來說,會引發警告「E712:與 False 的比較應該是『if cond is False:』或『if not cond:』」。
要解決此問題,可以採用三種可能的方法:
-
使用# noqa 抑制警告: 在有問題的行中加入# noqa 註解以# noqa 註解以抑制flake8 警告。這是最簡單的解決方案,但它沒有解決根本問題。
-
使用 SQL“IS”表達式: SQLAlchemy 過濾器支援 SQL“IS”表達式。您可以使用「TestCase.obsoleted.is_(False)」來取代「TestCase.obsoleted == False」。這將適用於不同的資料庫方言。
-
利用 sqlalchemy.sql.expression.false: 導入「sqlalchemy.sql.expression」並使用「TestCase.obsoleted == sqlalchemy.sql.expression」 。錯誤的()」。此方法傳回特定會話SQL 方言的正確值。還有一個符合的「sqlalchemy.expression.true()」。
需要注意的是,雖然在SQLAlchemy 中將布林值與過濾子句中的「==」進行比較在技術上是正確的,但它可能會導致其他情況下的混亂。 」進行布林比較,以防止潛在問題。
以上是如何在 Python 中正確地對 SQLAlchemy 查詢的布林值進行等同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!