我试图将SQLAlchemy查询的输出显示到jinja模板中。我的查询如下:
query = db.session.query(models.Server, models.Scan).outerjoin(models.Server.scans).all()
其输出为:
[(<Server u'Testing'>, <Scan u'testscan'>), (<Server u'fasd'>, <Scan u'testscan'>), (<Server u'fdaafas'>, None)]
Server表包含三列:name, description and ip
.
Scan表包含另外三列:type, scan_id and timestamp
.
我要做的是访问服务器的描述和相应的scan_type。我已经尝试使查询成为字典,但仍然无法访问相关值。任何帮助都太好了!
在SQLAlchemy中执行连接时,至少在指定模型作为选择的情况下,每个记录都作为连接的模型对象的元组返回。您拥有的是Server和Scan对象的元组列表。query[i]
产生一个元组,query[i][0]
产生一个Server对象,query[i][1]
产生一个Scan对象。您所要做的就是query[i][0].description
来获得服务器描述,query[i][1].type
来获得扫描类型。