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)
我猜对了
额,这代码好优秀啊