SQLAlchemy-如何获取.count()查询的原始SQL?

时间:2019-02-11 14:47:40

标签: python sqlalchemy

获取任何查询的“原始” SQL的最简单方法就是print(实际上,将其转换为str)。

但是,该方法不适用于count()查询,因为count()是“触发”方法,该方法表示为“这将导致底层执行查询”。其他“射击”方法包括all()first()等。

如何获取此类方法的SQL?

我对count()特别感兴趣,因为它以某种方式转换了基础查询(实际上,此方式已明确描述为in docs,但情况可能有所不同)。其他方法也可以更改结果SQL,例如first()

因此,有时获取此类查询的原始SQL很有用,以便调查问题的根源。

我阅读了有关“获取原始SQL”的答案,但这种情况很特殊,因为此类方法不会返回Query对象

请注意,我的意思是我需要一个已经存在的 Query对象的SQL。

1 个答案:

答案 0 :(得分:0)

下面的示例将返回任何查询对象的计数,然后您应该可以将其转换为字符串表示形式:

pageN.js

请注意,您必须从查询输出中指定一个字段才能计数。在<script>定义的示例中。