Immad Imtiaz
Immad Imtiaz

Reputation: 99

Django querying models

I want to make a query that performs the same task as the my sql query given below

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

I have written a query given below but it does not gives the visits

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

Upvotes: 1

Views: 44

Answers (1)

C14L
C14L

Reputation: 12548

If I understood you correctly, this may do it

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

Upvotes: 2

Related Questions