为了账号安全,请及时绑定邮箱和手机立即绑定

如何把不符合要求的元素从查询结果中删除,但不影响数据库

如何把不符合要求的元素从查询结果中删除,但不影响数据库

慕森王 2019-04-27 22:14:39
我对数据库中存储的设备使用率进行了查询,对某一段时间内的设备使用率求了平均值,然后想把平均值处于某一范围内的设备取出来,或者说把不在范围内的剔除,但不能删除数据库中的数据,我想到的方法是根据设备平均使用率做判断,符合要求的放到一个列表里,但这样做之后,导致不能再像一开始那样就行filter了,因为已经变为列表,而不再是queryset了,不知哪位大神有解决办法?
查看完整描述

2 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

按照你回复的这个语句
node.utilization_set.filter(day__range=(date_list[0],date_list[-1])).aggregate(Avg('useage'))
应该是要取Node表的数据,
fromdjango.db.modelsimportAvg
qs=Node.objects.filter(utilization__day__range=(date_list[0],date_list[-1]))
qs=qs.annotate(useage_avg=Avg('utilization__useage'))
qs=qs.filter(useage_avg__gt=0.5)#这里根据需求改
                            
查看完整回答
反对 回复 2019-04-27
?
慕桂英546537

TA贡献1848条经验 获得超10个赞

在数据库中加一列类似is_deleted,默认为0,把不在范围内的数据设为1,取值的时候只取is_deleted=0
                            
查看完整回答
反对 回复 2019-04-27
  • 2 回答
  • 0 关注
  • 384 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信