我正在尝试将一个 ids 列表添加到Javascript图层。所有这一切都是SQL语句。
独立功能:
def mcHmos():
return {hmo.id from hmo in Hmo.query.filter(Hmo.medicaid_proof == True)}
在渲染模板中,我有:
return render_template('edit_form.html',
.....,
hmoMedProof=mcHmos(),
....,
....)
模板文件包含以下内容:
var hmoMedProof = {{hmoMedProof}};
当我查看来源时,我得到了
var hmoMedProof = SELECT hmo.id as hmo_id
FROM hmo
WHERE hmo.medicaid_proof = 1;
如何获取查询结果而不是(原始)SQL? 此页面上还有其他查询,从控制器到模板。
答案 0 :(得分:0)
要使查询针对数据库执行,必须调用将查询解析为结果集的函数之一。
示例为.one()
,.first()
,.all()
Hmo.query.first()
Hmo.query.filter(Hmo.medicaid_proof == True).all()
该查询不会立即执行,因为它以后仍可以与其他查询组成,或者应用了其他过滤器,例如:
someQueryObject = Hmo.query.filter(Hmo.medicaid_proof == True)
results = someQueryObject.filter(Hmo.another_column == False).all()