mor*_*ous 79 python sqlalchemy
我有一个名为Person的ORM类,它包含一个person表:
在设置与db等的连接之后,我运行ff语句.
people = session.query(Person).all()
人员表不包含任何数据(至今),因此当我打印变量人员时,我得到一个空列表.
我将我的ORM类People中引用的表重命名为people_foo(不存在).
然后我再次运行脚本.我很惊讶在尝试访问不存在的表时没有抛出任何异常.
因此,我有以下两个问题:
如果它有帮助,我使用PostgreSQL作为数据库
[编辑]
我正在写一个包.在我的people
脚本中,我有以下代码(在此缩写):
people = session.query(Person).all()
Run Code Online (Sandbox Code Playgroud)
[EDIT2]
common模块正确设置记录器,我可以在导入common的其他模块中使用logger.
但是在dbfuncs模块中,我收到以下错误/警告:
没有找到记录器"sqlalchemy.engine.base.Engine"的处理程序
Den*_*ach 180
除了echo
参数之外create_engine()
还有一种更灵活的方式:配置logging
echo echo语句:
import logging
logging.basicConfig()
logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO)
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅文档的配置日志记录部分.
Men*_*its 70
您可以通过在创建引擎实例时传递echo = True来查看发送到数据库的SQL语句(通常在代码中使用create_engine()或engine_from_config()调用).
例如:
engine = sqlalchemy.create_engine('postgres://foo/bar', echo=True)
Run Code Online (Sandbox Code Playgroud)
默认情况下,记录的语句转到stdout.
归档时间: |
|
查看次数: |
55767 次 |
最近记录: |