我正在使用 sqlalchemy 进行连接池,并且我想让一个引擎对象可用于其他模块。我为其他模块需要的实用程序创建了一个模块,它看起来像这样:
from sqlalchemy import [...]
_engine = create_engine(url)
_meta = MetaData()
_meta.bind = _engine
def get_meta():
return _meta
def get_engine():
return _engine
我以前尝试在没有前导下划线的情况下这样做,但它没有用。我的印象是前导下划线只是python中私有变量的传统样式,但显然它会影响代码的解释方式?无论如何,我只是想让一个特定的实时引擎对象(控制对数据库连接池的访问)可用于其他模块,并且想知道这样做的最佳实践,谢谢。