Search code examples
djangogroup-bygroup-concat

group by with all fields django


I want to run 2 queries in django, I am using mysql, Please help me

first one

SELECT * FROM `invitations` 
WHERE post_id = 19215 GROUP BY (user_id) 

it is not group by from user_id

   data = Invitations.objects.filter(post_id=19215).annotate(user_id=Count('user_id'))

now i have add value

data = Invitations.objects.values('user_id').filter(post_id=19215).annotate(user_id=Count('user_id'))

it return me not all fields select *

data = Invitations.objects.values('user_id', 'xyz').filter(post_id=19215).annotate(user_id=Count('user_id'))

it group by user_id and xyz

Please give me solution

and second is

SELECT *, GROUP_CONCAT(interview_mode) FROM invitations WHERE post_id = 19215 GROUP BY (user_id)

Solution

  • Run this:

    query= "SELECT *, GROUP_CONCAT(interview_mode) 
    FROM invitations WHERE post_id = 19215 
    GROUP BY (user_id)"
    
    data = Model.objects.raw(query)