flask python中的SQL查询返回密钥错误
我正在一个网站上创建一个周期跟踪器。我使用一个SQL数据库来存储用户信息,我还在我的一个网页上获取用户输入的关于他们月经周期和经期的长度。我正在另一个表中存储用户输入。所以我的问题是,我正在测试计算特定用户月经周期的平均长度,但是当我需要一个整数时,查询会返回一个字典。我需要它作为一个整数,因为我使用这个值进行一些计算。当我运行程序时(顺便说一句,我在python中使用flask),我得到一个键错误。你知道我怎么解决这个问题吗 我有一个带有uid、prev_period_date、period_length和cycle_length列的表时间线flask python中的SQL查询返回密钥错误,python,sql,Python,Sql,我正在一个网站上创建一个周期跟踪器。我使用一个SQL数据库来存储用户信息,我还在我的一个网页上获取用户输入的关于他们月经周期和经期的长度。我正在另一个表中存储用户输入。所以我的问题是,我正在测试计算特定用户月经周期的平均长度,但是当我需要一个整数时,查询会返回一个字典。我需要它作为一个整数,因为我使用这个值进行一些计算。当我运行程序时(顺便说一句,我在python中使用flask),我得到一个键错误。你知道我怎么解决这个问题吗 我有一个带有uid、prev_period_date、period_
cycle_avg = db.execute("SELECT AVG(cycle_length) FROM timeline WHERE uid=:user_id", user_id=session["user_id"])[0]["cycle_length"]
period_avg = db.execute("SELECT AVG(period_length) FROM timeline WHERE uid=:user_id", user_id=session["user_id"])[0]["period_length"]
我得到的错误是:
File "/home/ubuntu/f_p/application.py", line 167, in tracker
cycle_avg = db.execute("SELECT AVG(cycle_length) FROM timeline WHERE uid=:user_id", user_id=session["user_id"])[0]["cycle_length"]
KeyError: 'cycle_length'
如何解决此问题?从数据库检索的结果集不包含名为
cycle\u length
的字段,因为您没有为计算字段提供别名。尝试:
cycle_avg = db.execute("SELECT AVG(cycle_length) as cycle_length FROM timeline WHERE uid=:user_id", user_id=session["user_id"])[0]["cycle_length"]
period_avg = db.execute("SELECT AVG(period_length) as period_length FROM timeline WHERE uid=:user_id", user_id=session["user_id"])[0]["period_length"]