el_*_*_le 6 sqlalchemy flask-sqlalchemy
如何检查查询是否找到任何结果?
result = db.engine.execute(sql, id=foo)
// check if result has rows ...
for row in result:
...
Run Code Online (Sandbox Code Playgroud)
试过这个:
if result is None:
print("reuslt is None!")
Run Code Online (Sandbox Code Playgroud)
并检查长度:
print("result len", len(result))
Run Code Online (Sandbox Code Playgroud)
Jel*_*mer 11
all()对于某些数据库可能会很慢,count()但更好,但first()对于大型数据库和复杂查询甚至更快。例如:
x = db.session.query(Post).filter(Post.read==True).first() is not None
Run Code Online (Sandbox Code Playgroud)
小智 6
rowcount对我有用,作为检查 SQLAlchemy 中查询是否为空的简单方法。
results = db.engine.execute(tbl.select(<YOUR-SELECT-QUERY>))
num_results = results.rowcount
if int(num_results) == 0:
print('NO RESULTS FOUND')
else:
print(str(num_results)+' RESULTS FOUND')
Run Code Online (Sandbox Code Playgroud)
len是更好的方法。你曾接近:
print("result len", len(result.all()))
Run Code Online (Sandbox Code Playgroud)
如果您没有获取 BaseQuery len 的所有元素,则无法访问该 BaseQuery len。
如果你想知道它是否为空,可以将结果与None进行比较。
| 归档时间: |
|
| 查看次数: |
11624 次 |
| 最近记录: |