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"