On Wed, 2007-10-24 at 06:41 +0000, Rufman wrote:
> hey
> 
> if I use the Django db api it automatically does SELECT * FROM.... 

Well, for accuracy, no it doesn't. But it does explicitly list all
fields.

> How
> can I select only one (or a certain number of fields) so that I can
> run a distinct query. i.e something like this in sql: SELECT field
> FROM table. Which would lead to the distinct query: SELECT DISTINCT
> field FROM table. in this case fields is not the pk.

Use my_queryset.values(...).distinct(). However, be aware of bug #2939
and the fact that you can only use one value in the values() call on
trunk. Except possibly on MySQL, this would fail:

        my_queryset.values('foo', 'bar').distinct()

Both of these problems are fixed in the queryset-refactor branch and
will eventually be merged into trunk, however, the branch is not ready
for production (or even testing) use at the moment, so you'll have to
wait a bit if you want those fixes.

Regards,
Malcolm

-- 
Honk if you love peace and quiet. 
http://www.pointy-stick.com/blog/


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to