将SQL查询转换为ORM查询Django

时间:2016-01-15 11:32:45

标签: python mysql django django-queryset

这是SQL查询:

SELECT id, ip_src, ip_dst, src_port, ip_proto, sum(bytes) as Traffic
FROM table GROUP BY ip_src, ip_dst, ip_proto 
ORDER BY 6 DESC limit 10;

我需要在ORM查询中转换它。我知道Django中有原始的sql查询,但我需要ORM才能将此查询与Chartit addon(Highcharts)集成,后者只能理解查询集和模型。

得到了这个,但这不正确

Flow.objects.values('ip_src', 'ip_dst', 'ip_proto',
 'bytes').annotate(traffic=Sum('bytes')).order_by('-traffic')[:10]

感谢任何帮助

1 个答案:

答案 0 :(得分:3)

试试这个:

Flow.objects.values('ip_src', 'ip_dst', 'ip_proto').annotate(traffic=Sum('bytes')).order_by('-traffic')[:10]