Wednesday, July 31, 2019

Re: Recreating SQL query in ORM

Hello,

assuming you have a FullMatch model mapped to your FullMatches table
the following should do.

FullMatch.objects.filter(
    job_id=job_id,
).values(
    seq=Concat('loading_code', ...),
    ids=Concat('loading_id', ....),
).annotate(
    total=Count('*'),
).order_by('-total')

Using .values() before an annotation of an aggregate function uses the provided columns
from grouping.

Cheers,
Simon

Le mardi 30 juillet 2019 12:56:56 UTC-4, Jonathan Spicer a écrit :
Hello,

I have an sql query that I would like to recreate using the ORM. Would it be possible for someone to give me some pointers.

select count(*) as total,
                concat(loading_code,code1_code,code2_code,code3_code,code4_code) as seq,
                concat(loading_id,',',code1_id,',',code2_id,',',code3_id,',',code4_id) as ids
                from FullMatches where job_id = %s group by seq, ids order by total desc

Thanks in advance.

Johnny

--
You received this message because you are subscribed to the Google Groups "Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-users+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/276bf123-6990-4594-a9cf-8e9a8432d40e%40googlegroups.com.

No comments:

Post a Comment