Selecionar distinto em expressões deve corresponder à ordem inicial por expressões django
from django.db.models import Subquery
Model.objects.filter(
pk__in=Subquery(
Model.objects.all().distinct('foo').values('pk')
)
).order_by('bar')
tuan.luu