遇到一个比较奇怪的问题,本地mysql数据库,flask项目运行时断点调试在指定条件下查询不到数据,但是print出sql语句到mysql中执行,却能查到数据。
原语句:
rs = db.session.query(table.value).filter_by(ci_id=ci_id).filter_by(attr_id=attr.attr_id)
rtn = rs.all()
// rtn为None
SQL语句
SELECT index_datetime.value AS index_datetime_value
FROM index_datetime
WHERE index_datetime.ci_id = 127696 AND index_datetime.attr_id = 159;
都连接的本地数据库,代码中无法查到数据,但是SQL语句(代码调试print出来的)可查到,表示懵逼了,求解!
没理解错的话,查询语句应该是类似:
IndexDatetime.query.filter_by(ci_id=ci_id, attr_id=attr.attr_id)
,而不是用db.session
查询的。你可以查阅一下documentation:
Querying Records - flask-sqlalchemy