我无法弄清楚如何从看起来非常简单的查询中检索计数。我的代码如下所示:
mod_count_query = db_session.query(func.count(User)).\
filter(User.id == user_id).\
filter(User.modification_date > time_start).filter(User.modification_date < time_end)
当我内省它在内部生成的SQL时,它看起来很合理:
SELECT count(:param_1) AS count_1 FROM user WHERE user.id = :user_id_1 AND user.modification_date > :date_1 AND user.modification_date < :date_2)
但是,尽我所能,我无法弄清楚如何从mod_count_query
对象中哄骗一个数字。执行mod_count_query.first()
或mod_count_query.all()
会导致:
{AttributeError}type object 'User' has no attribute 'translate'
我可以使用this workaround继续前进,但似乎我应该可以从查询对象中获取此信息。我错过了什么?