我想从扫描的status = 'open'
数据包中获取last 100
的所有数据包的计数。
目前我进行顺序搜索,即
packet_obj = Packets.objects.all().oreder_by('-time')[:100] # getting the last 100 packets
for packets in packet_obj:
if packets.status == 'open' : count += 1 # comparing the status
是否有直接的单一查询来计算此数?
答案 0 :(得分:0)
单行你可以尝试这个但不是循环我认为不可能
packet_obj = Packets.objects.all.oreder_by('-time')[:100]
count=sum(1 for packets in packet_obj if packets.status == 'open')
另外,你可以尝试这个method