Python Sqlalchemy从文本查询获取整数

Python Sqlalchemy从文本查询获取整数,python,sqlalchemy,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] 这

我正在与一些遗留代码和从数据库获取整数值的正确方法进行斗争。我试着这样做:

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并在这里只获取一个整数的正确方法是什么。

您可能希望这样做。例如,像这样的东西可能就是您正在寻找的:

db.query(func.count(mytable.id).filter(mytable.somevar == 1)).scalar()
想必你会想要的。例如,像这样的东西可能就是您正在寻找的:

db.query(func.count(mytable.id).filter(mytable.somevar == 1)).scalar()
可能
q.one().count
可能
q.one().count