alchemy零基础请教,怎么才能使for i in xxx.query.这个过程快一点?

for a in xxx.query.filter(xxx.age == 16):#10条记录
    for b in xxx.query.filter(xxx.sex == 'boy'):#14条记录
        for c in xxx.query.filter(xxx.xxx == xxx):#11条记录
            for d in xxx.query.filter(xxx.xxx == xxx):#10条记录
                for e in xxx.query.filter(xxx.xxx == xxx):#10条记录
                    pass
return '结束'

 

 

代码差不多就上面那样,xxx就类似通讯录表单,上面5个循环用了36秒。五个for i in range(14)相套才不到1秒。

请教有什么办法改进吗?

 

-----------------------------------------------------------------------------

算是解决了吧。原因是xxx.query.filter好像有延迟加载。但在循环外用xxx.query.all()就能提前加载了。就几乎不耗时了

 

尝试打印一下filter之后的数据类型是不是还是query,

如果是,那就链式编程

for i in xx.query.filter(xx.age>16).filter(****):
    print(i)

我猜对了

额,这代码好优秀啊