我将日期时间和温度值保存到数据库中,我正在尝试获取最后一个温度和日期时间值。
我尝试使用以下链接中描述的代码:
并写了这个:
query1 = db.session.query.order_by(temperaturelog.dTime.desc()).first()
query2 = db.session.query.order_by(temperaturelog.Temperature.desc()).first()
data.append(query1)
data.append(query2)
return data
然而,我遇到了错误,例如:
NameError: name 'session' is not defined
我是否需要更换'会话'用别的东西?我尝试使用创建SQLAlchemy(app)时使用的变量,并尝试将其替换为温度日志数据库的类名。
所有帮助表示赞赏,
感谢。
答案 0 :(得分:0)
首先,不可能看看override var prefersStatusBarHidden: Bool {
return false
}
的来源。在您的示例中,您将会话称为名为NameError
的对象的属性。如果此上下文中不存在db
,则会引发session
,而不是AttributeError
。在NameError
定义之前,NameError
很可能是以不合格的方式在模块中调用session
。
其次,您的查询与链接问题中的查询不同,因为您不查询任何对象。
在Flask-SQLAlchemy中,您可以在模型本身上查询附加到会话的对象。例如,如果我有一个名为Temperature
的类并且它是一个Flask-SQLAlchemy检测对象,则可以直接查询该类,例如Temperature.query.all()
。然后,可以从Temperature
对象的__tablename__
属性推断出需要查询的表。
在您的示例中,您似乎正在查询会话,这很好,但session.query
并非特定于任何模型。在这种情况下,您需要调用session.query
并向其传递代表您希望其从中获取数据的表格的模型,例如session.query(Temperature).all()
是有效的查询。