我想通過一個查詢來實作切換布爾標志。
我的查詢如下所示:
session.query(Foo).update({"status": SOME_NOT_OPERATOR})
SQLAlchemy 是否支持 PostgreSQL NOT ( https://www.postgresql.org/docs/current/functions-logical.html ) 運算子。如何以不同的方式實作這一點?
uj5u.com熱心網友回復:
正如Adrian Klaver在他們的評論中指出的那樣,SQLAlchemy 的not_運算子將切換值。所有這些陳述句都是等價的:
# 1.x style
session.query(Foo).update({'status': ~Foo.status})
session.query(Foo).update({'status': not_(Foo.status)})
# 2.0 style
session.execute(update(Foo).values(status=~Foo.status))
session.execute(update(Foo).values(status=not_(Foo.status)))
將生成此 SQL:
UPDATE foo SET status=NOT foo.status
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/463040.html
標籤:Python PostgreSQL sqlalchemy
