2017-04-22 47 views
0

在會話結束時,在結束之前,我想打印該會話期間添加和/或更新的總行的摘要。SQLAlchemy:如何打印會話中所有添加或更新的行的日誌

我知道我可以打印每個SQL查詢的日誌記錄,例如:

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

但是,日誌文件將是成千上萬的查詢過大。

相反,我只想打印出總計。

乾杯。

+0

您可以使用[events](http://docs.sqlalchemy.org/en/latest/orm/events.html)一起設備。 –

回答

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)