擅长:python、mysql、java
<p><code>query().first()</code>返回第一行。这就是返回元组的原因。查询不关心第一行中只有1个值,从而得到长度为1的元组。在</p>
<p>如果确定查询只返回1个标量值,则可以使用<a href="http://docs.sqlalchemy.org/en/rel_0_7/orm/query.html?highlight=scalar#sqlalchemy.orm.query.Query.scalar" rel="nofollow">^{<cd2>}</a>代替<code>first()</code>。请阅读链接的文档。在</p>
<p>edit:要获得第一个返回元组中的第一个值,当查询可能返回多行时,您可以将<code>order_by(...).limit(1)</code>添加到查询中,然后使用<code>scalar()</code>,或者获取第一行,然后显式地将元组转换为int</p>