Django查询模型

时间:2016-04-20 14:02:04

标签: python django django-models

我想创建一个查询,执行与下面给出的my sql查询相同的任务

SELECT 
    max(date),
    business_id,
    visits
FROM 
data_traffic 
where 
business_id 
IN (
    SELECT 
        competitor_id 
    FROM 
    data_business_competitors WHERE business_id = 868
)
order by
date desc

我已经写了一个下面给出的查询,但它没有给出访问

TrafficData.objects.filter(business_id__in=competitors).values('business_id').annotate(max_date=Max('date'))

1 个答案:

答案 0 :(得分:1)

如果我理解正确,可以这样做

TrafficData.objects\
           .filter(business_id__in=competitors)\
           .annotate(max_date=Max('date'))\
           .order_by('-max_date')\
           .values('business_id', 'visits', 'max_date')