我将sqlalchemy与反射结合使用,我的数据库中的几个部分索引使其转储如下警告:
SAWarning: Predicate of partial index i_some_index ignored during reflection
把我的日志(log)弄得乱七八糟.它不会妨碍我的应用程序行为.我希望在开发时保留这些警告,但不是在生产级别.有人知道怎么关掉吗?
我将sqlalchemy与反射结合使用,我的数据库中的几个部分索引使其转储如下警告:
SAWarning: Predicate of partial index i_some_index ignored during reflection
把我的日志(log)弄得乱七八糟.它不会妨碍我的应用程序行为.我希望在开发时保留这些警告,但不是在生产级别.有人知道怎么关掉吗?
Python's warning module提供了一个方便的context manager,可以为您捕捉警告.
下面是如何过滤掉SQLAlchemy警告.
import warnings
from sqlalchemy import exc as sa_exc
with warnings.catch_warnings():
warnings.simplefilter("ignore", category=sa_exc.SAWarning)
# code here...
至于开发与生产,您可以在应用程序的入口点或在生产环境中调用应用程序的外部脚本周围使用此警告.
通常,我通过使用一个环境变量来解决这个问题,该变量执行的代码路径与开发时略有不同,例如,围绕不同的中间件等.