python - 将 Python Flask-sqlalchemy 查询结果作为列表理解进行迭代

标签 python flask-sqlalchemy

我有一个flask-sqlalchemy 查询,它返回警报数据列表。

alert_data = Alerts.query.filter_by(alertRemediated = False).all()

我使用以下代码迭代结果以计算所有“严重”警报。

这段代码可以工作,但效率似乎很低。

c = 0
for alert in alert_data:
    if alert.alertSeverity == 'Critical':
        c +=1
total_crit_alerts = c

我尝试了以下列表理解来使代码更加精简,但我无法让它工作。

total_crit_alerts = sum(1 for i in alert_data.alertSevertiy if i == 'Critical')

返回的错误是:AttributeError: 'list' object has no attribute 'alertSevertiy'

如有任何建议,我们将不胜感激。

最佳答案

您需要遍历alert_data列表。 您还输入了alertSeverity

你可以尝试:

total_crit_alerts = sum(1 for i in alert_data if i.alertSeverity == 'Critical')

关于python - 将 Python Flask-sqlalchemy 查询结果作为列表理解进行迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75249797/

相关文章:

python - SqlAlchemy delete() 函数不起作用

python - 为什么对 css 文件的修改在服务器渲染中不起作用?

python - 无法在 Flask-admin 上创建模型

python - 大 numpy 矩阵的 PIL 逊相关性

python - 与 C 数组相比,带有 NumPy 数组内存 View 的 Cython 性能较差

Python Mechanize 在某个 if 条件下失败,但在另一个条件下成功......不知道为什么

python - Pandas 通过事件创建月末持有量

python - Flask 中字段较多时如何更新记录。 Python

Python/Google 应用引擎数据存储性能

python - 在 Sqlalchemy 上删除多对多关系(关联对象)