﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
24642	If queryset has orderby before distinct query selects the orderby	Esteban F.	nobody	"If you generate a query set like:
{{{
orders = Order.objects.filter( date = paramDate, objfilter = paramObjfilter ).order_by( 'date' )
dudes  = orders.values('dude').distinct().exclude(dude__isnull = True) 
}}}

Query will be: 
{{{
SELECT DISTINCT ""base_ordentrabajo"".""dude_id"", ""base_orders"".""date"" FROM ""base_orders"" WHERE ...
}}}
If you remove order_by and make distinct after query is quite different (and like should be)
{{{
orders = Order.objects.filter( date = paramDate, objfilter = paramObjfilter )
dudes  = orders.values('dude').distinct().exclude(dude__isnull = True) 

SELECT DISTINCT ""base_ordentrabajo"".""dude_id"" FROM ""base_orders"" WHERE ...
}}}
So i can't make an order_by if i need to make a distinct first. Anyway django should warn of query.order_by or don't allow to make a subset query filter with distinct if you order in the first place because this lead to unexpected results on query (query will contain not distinct values for the field you are searching for because it adds the order_by field value to the query)
"	Bug	closed	Database layer (models, ORM)	1.7	Normal	invalid			Unreviewed	0	0	0	0	0	0
