sqlalchemy烧瓶返回记录步骤

时间:2016-03-05 13:22:15

标签: flask sqlalchemy flask-sqlalchemy

我的数据库中有太多人记录来绘制折线图。

 f = C1.query.all() 
 Data = [dict(id=r.id,timestamp=r.timestamp,qir=r.qir,so=r.so) for r in f]

我需要迈出一步。例如。每10条记录(id = 10,id = 20,... id = 3000)。但不幸的是,我不知道该怎么做。

1 个答案:

答案 0 :(得分:1)

您可以使用模数进行过滤。

f = C1.query.filter(C1.id % 10 == 0).all()

data = [dict(id=r.id, timestamp=r.timestamp, qir=r.qir, so=r.so) for r in f]

或者,如果您已经拥有所有对象的集合,则可以通过向列表推导添加if来过滤那些可被10整除的ID:

f = C1.query.all()
data = [
    dict(
        id=r.id,
        timestamp=r.timestamp,
        qir=r.qir, so=r.so
    ) for r in f if r.id % 10 == 0
]