sqlalchemy语句属性由于某种原因不存在

时间:2017-11-08 23:29:45

标签: python logging sqlalchemy

我是sqlalchemy的新手,我正在尝试打印/记录执行以下操作时sqlalchemy执行的实际删除查询:

delete_query = mdb_session.query(PendingConfig).filter(PendingConfig.id == config.id).delete()

我查看了一堆其他stackoverflow帖子,建议的解决方案是这样做的:

print str(delete_query.statement)

但是这不起作用,因为我的statement对象中不存在delete_query属性,我通过将上面的打印代码更改为以下内容来确认:

if hasattr(delete_objs, 'statement'):
   print(str(delete_query.statement))
else:
   print("statement doesn't exist.")

在上面,执行了else行。所以基本上statement属性对我来说不存在。为什么??? ....如果我只是print(str(delete_query)),它只打印01。我不知道为什么。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

SQLAlchemy docs中所述,delete()会返回已删除的项目数。