Django Query distinct values works but i cant use the query result
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
@Rohan is right. dict['attr_name']
will give you what you want.
staff = Staff.objects.all().values('person').distinct()print staff.query#it returns:#SELECT DISTINCT "staff"."person" FROM "staff"
beside this if you use this patch, you can achieve this as following structure:
staff = Staff.objects.all().distinct('person')for pr in staff: print pr['person']
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 = []for data in query: if data.field_name not in copy1: copy1.append(data.field_name) copy2.append(data) query = copy2