Python Flask SqlAlchemy:未查询数据库

时间:2017-07-17 16:26:32

标签: python-2.7 jinja2 flask-sqlalchemy

我正在尝试将一个 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? 此页面上还有其他查询,从控制器到模板。

1 个答案:

答案 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()