我正在使用python flask并拥有一个数据库A,我将从中抽出一年。我已将数据库中的列定义为整数,但我很难让我的查询返回整数。现在,我试图在我的查询中找到最大年份,所以我最终可以添加后续年份。
def add():
years = db.session.query(A.year.distinct().label("year"))
maxyear = max(db.session.query(A.year.distinct().label("year")))
return render_template("x.html",maxyear=maxyear,years=years,type=type(maxyear))
此函数当前将其返回为(maxyear,type):
(2017,) , <class 'sqlalchemy.util._collections.result'>
我试着这样做:
maxyear = int(max(db.session.query(A.year.distinct().label("year"))))
但收到此错误:
typeError: int() argument must be a string, a bytes-like object, or a number, not 'result'.
有关如何调整查询以纠正此问题的任何建议吗?
答案 0 :(得分:0)
你得到一个集合作为回报 - 而不是单一的价值。使用[0]得到第一个? - Patrick Artner
year = maxyear [0]