And that works, with one
exception: .get_object_for_this_type(pk=object['object_id'])

Getting the objects IS a bit inefficient, but since I only need the
top 10, I can live with it.

On May 27, 12:32 pm, Jason Culverhouse <ja...@mischievous.org> wrote:
> If you were to do something like this:
>
> from django.models import count
> most = Watch.objects.values('content_type', 
> 'object_id').annotate(Count('object_id')).order_by('-object_id__count')
>
> [
>         {'object_id__count': 15, 'object_id': 1, 'content_type': 10},
>         {'object_id__count': 2, 'object_id': 1, 'content_type': 5},
>         ...
> ]
>
> # this isn't efficient, but you get the idea
> # you need to resolve the content types and object id's into models
> from django.contrib.contenttypes.models import ContentType
> for object in most:
>         foo = ContentType.objects.get(id= 
> object['content_type']).get_object_for_this_type(object['object_id'])
>
> You can also seehttps://github.com/coleifer/django-generic-aggregation
>
> This will get you close but I think it only if you want to annotate the count 
> on a single content type at once.
>
> Jason Culverhousehttp://www.mischievous.org

-- 
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 
django-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en.

Reply via email to