sqlalchemy - 获取将要提交的条目数,空运行

时间:2013-04-29 08:30:40

标签: sqlalchemy

我创建了一个sqlalchemy的工具,可以将条目从一个基本复制到另一个基础。我想添加“干运行”选项,所以不是真正提交,而是只打印提交的一些条目:

session.add(foo)
session.add(bar)
if dry_run:
    print session.number_of_items_to_commit # <-- should print "2"
else:
    session.commit()

如何获取要提交的项目数?我在Session课程中没有看到任何合适的方法。

1 个答案:

答案 0 :(得分:2)

您可以使用len(session.new)执行任务:

  

此会话中标记为“新”的所有实例的集合。

如果您还需要跟踪修改过的对象,请使用session.dirty