You don't need order_by to get distinct values per se, but in this case you need to put it in to override whatever default ordering you have on your model (since any order_by fields will be included in the query and thwart your distinct()).
On Jul 30, 3:52 am, tuxcanfly <tuxcan...@gmail.com> wrote: > Thanks, that works! > > But I don't understand why I should order_by to get distinct values. > > On Jul 29, 3:59 pm, Subhranath Chunder <subhran...@gmail.com> wrote: > > > > > If you don't want to uniquify yourself, then why not simply do: > > User.objects.values('username').order_by('username').distinct() > > > or, going the way that were already heading, it would be: > > Visitor.objects.values('user__username').order_by('user__username'').distin > > ct() > > > Thanks, > > Subhranath Chunder. > > > On Thu, Jul 29, 2010 at 2:29 PM, tuxcanfly <tuxcan...@gmail.com> wrote: > > > I have this: > > > > class Visitor(models.Model): > > > user = models.ForeignKey(User) > > > ...... > > > ...... > > > > I'm trying to get the distinct usernames, so I did this: > > > > Visitor.objects.values("user__username").distinct() > > > > But this stil gives me duplicate usernames. Of course I could use a > > > flat values_list and uniquify the result, but... > > > > -- > > > You received this message because you are subscribed to the Google Groups > > > "Django users" group. > > > To post to this group, send email to django-us...@googlegroups.com. > > > To unsubscribe from this group, send email to > > > django-users+unsubscr...@googlegroups.com<django-users%2bunsubscr...@google > > > groups.com> > > > . > > > For more options, visit this group at > > >http://groups.google.com/group/django-users?hl=en. -- You received this message because you are subscribed to the Google Groups "Django users" group. To post to this group, send email to django-us...@googlegroups.com. To unsubscribe from this group, send email to django-users+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/django-users?hl=en.