Skip to content Skip to sidebar Skip to footer

Django Query Distinct Values Works But I Cant Use The Query Result

I have a table column which some values are double or triple written. I want to have a distinct query. I tried staff = Staff.objects.all().values('person').distinct() for k in staf

Solution 1:

Its not problem with distinct but with values(). values() gives you dict of values you requested. And to get attribute from dict you can use dict['attr_name'].

So you can try this:

staff = Staff.objects.all().values('person').distinct()
for k in staff:
    j = k['person']
    print j,k

Solution 2:

@Rohan is right. dict['attr_name'] will give you what you want.

staff = Staff.objects.all().values('person').distinct()
print staff.query

#it returns:
#SELECTDISTINCT "staff"."person" FROM "staff"

beside this if you use this patch, you can achieve this as following structure:

staff = Staff.objects.all().distinct('person')
forprin staff:
    printpr['person']

Solution 3:

query = Entity.objects.filter(field=x).order_by('field').distinct('field_name')

distinct('field_name') not supported? you can do the following.


----------


    query = Entity.objects.filter(field_name=value).order_by('field')

    copy1 = []

    copy2 = []
fordatain query:
    ifdata.field_name not in copy1:
            copy1.append(data.field_name)
            copy2.append(data)


    query = copy2

Post a Comment for "Django Query Distinct Values Works But I Cant Use The Query Result"