Django Queryset的结果查询
在一个查询结果中,需要判断某些量是否在结果中,然后重新排列,然后输出到Echarts。
开始的方式是采用偷懒的方式,利用filter中加入conditions的方法,filter之后获得是否当前的量存在于Queryset中。可行,但是一定要知道,这种方法是最费时的,因为每次执行filter查询一个记录,都要执行一次数据库的查询。
所以,如果只有少量的过滤查询,可以用这种方法,但是对于数据量大的,如果不能一次或者少量次数就通过query或者SQL的方式可以得到你所需的顺序和格式,那么就建议先读出来,然后数据在软件中再行处理,速度要快得多!
下面展示一些过滤方式的演示代码。
可以用,但是数据量大时,速度慢:因为每条subquery都是一条查询数据库的操作。
// 测试
condtionDate= {'A': 123,'B': 'Test'}
SubQuery= YouQuerySet.filter(**condtionDate)
if SubQuery.exists():
Data2Check[i] = SubQuery['iResult'] #根据应用调整List
else:
Data2Check[i] = 0