sqlalchemy 使用 session 修改数据库如何知道变化条目数?

2015-09-07 16:00:23 +08:00
 aiqier

在使用 mysqldb 这样的库时,可以使用游标来查看数据库发生变化的条目数。

cur = con.cursor ()
cur.execute ("DELETE  FROM Writers WHERE created_time <= %s", (datetime,))
numrows = int (cur.rowcount )

那如果是使用 sqlalchemy 的 session 操作数据库呢?

self.session.query (Writer ).filter (Writer.created_time <=  datetime,).delete ()

我如何知道到底删了多少条记录?

2431 次点击
所在节点    Python
3 条回复
neoblackcap
2015-09-07 16:21:21 +08:00
不是会返回一个成功执行的条数么?
aiqier
2015-09-07 16:27:51 +08:00
@neoblackcap 谢了啊,搜了半天没搜到。
zhuangzhuang1988
2015-09-07 23:21:53 +08:00
看下 delete 文档.
:return: the count of rows matched as returned by the database's
"row count" feature.
http://docs.sqlalchemy.org/en/rel_1_0/orm/query.html#sqlalchemy.orm.query.Query.delete

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/218868

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX