Python's warning module provides a handy context manager that catches warnings for you.
Here's how to filter out the SQLAlchemy warning.
import warnings
from sqlalchemy import exc as sa_exc
with warnings.catch_warnings():
warnings.simplefilter("ignore", category=sa_exc.SAWarning)
# code here...
As for development vs production, you can just have this warning wrap around your application's entry point or an external script that invokes your application in your production environment.
Usually, I solve this by having an environment variable that executes a slightly different code path than when developing, for example, wrapping around different middleware etc.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…