Sqlalchemy从文本查询中获取整数

时间:2015-12-01 04:39:13

标签: python sqlalchemy

我正在使用一些遗留代码和从数据库中获取整数值的正确方法。我想这样做:

db = make_session() # this returns a session
q = db.query('count').from_statement(text("""
    SELECT count(1) as count FROM mytable
    WHERE somevar=:somevar;
""")).params(somevar=1)
return [p[0] for p in q]

返回[81L]。我也认为值是q[0]但是提升和异常。在这种情况下使用Sqlalchemy的正确方法是什么,这里只得到一个整数。

1 个答案:

答案 0 :(得分:3)

大概你想要.scalar()。例如,像这样的东西可能是你正在寻找的东西:

db.query(func.count(mytable.id).filter(mytable.somevar == 1)).scalar()