如何在jinja模板中通过列键访问SQLalchemy对象
我有一个叫做 reference
的表格,里面有几个列,分别是 id, parent, number, href
。当我想要访问这个表格中的某一行时,我会把查询对象传给 render_template
方法,像这样:
render_template('home.html',\
ref = db.session.query(reference).filter(reference.parent == 1).all())
现在,每当我想访问返回的第一行时,我会使用
{{ ref[0].href }}
我想把访问的 键 从 0
改成比如说 number
列的值。我需要这样做是为了在模板中根据列的值来访问行,而不是按顺序来访问,也就是说:
{{ ref['column_value'].href }}
1 个回答
3
你可以把你的数据集合放进一个字典里:
ref_by_number = dict(
(row.number, row)
for row in db.session.query(reference).filter(reference.parent == 1)
)
然后你可以通过 ref_by_number[number]
来获取你想要的内容(这里假设 number
这个属性是唯一的)。