SQLAlchemy:如何在会话中打印所有已添加或更新的行的日志

时间:2017-04-22 01:50:27

标签: python sqlalchemy

在会话结束时,在结束之前,我想打印在该会话期间添加和/或更新的总行数的摘要。

我知道我可以使用日志记录打印每个SQL查询,例如:

import logging
logging.basicConfig()
logging.getLogger('sqlalchemy.engine').setLevel(logging.INFO)

但是,日志文件对于数千个查询来说太大了。

相反,我只想打印出总数。

干杯。

1 个答案:

答案 0 :(得分:1)

您可以在提交计数之前迭代会话的新脏实例。

for instance in session.new:
    add_to_new_count(instance)
for instance in session.dirty:
    if session.is_modified(instance):
        add_to_update_count(instance)