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