I look at aggregation and annotation but I don't think It's possible to solve 
this by using any of those two systems. 
Or am I overlooking something ?


Op 31-aug-2010, om 13:09 heeft Jonas Geiregat het volgende geschreven:

> Thanks for your advise. I'm short of time right now so I briefly looked at 
> django's aggregation possibilities.
> I'll look into them more deeply tonight.
> 
> But I stumbled upon a problem.
> 
> Post.objects.values('tags')
> 
> Gives me:
> 
> FieldError: Invalid field name: 'tags'
> 
> In [56]: Post.tags
> Post.tags  
> 
> In [56]: Post.tags
> Out[56]: <django.db.models.fields.related.ReverseManyRelatedObjectsDescriptor 
> object at 0x78f9f0>
> 
> Post.tags does exist. Maybe it's because it's a ManyToManyField ? So I tried 
> Post.objects.values('tags__name'). Still got an error ?
> 
> I'm wondering why ?
> 
> Op 31-aug-2010, om 09:28 heeft Jirka Vejrazka het volgende geschreven:
> 
>>> tags = Tag.objects.all()
>>> 
>>> for t in tags:
>>>   indexed_tags[t] = Post.objects.filter(tags__name=t).count()
>>> 
>>> Next I would sort indexed_tags and I have a dictionary of which tags are 
>>> used the most.
>>> 
>>> I'm wondering if this is a good idea ? Since if I have 1000 tags this would 
>>> require 1000 queries just for one simple tag cloud.
>>> Is there a better way of solving this without adding an extra count field 
>>> to the Tag model.
>> 
>> Hi Jonas,
>> 
>> your gut feeling was correct - it's not a very good idea, although
>> it might work for a small site. You might want to take a look at
>> database aggregation in Django:
>> http://docs.djangoproject.com/en/1.2/topics/db/aggregation/
>> 
>>  Cheers
>> 
>>    Jirka
>> 
>> -- 
>> 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.
>> 
> 
> Met vriendelijke groeten,
> 
> Jonas Geiregat
> jo...@geiregat.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-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.
> 

Met vriendelijke groeten,

Jonas Geiregat
jo...@geiregat.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-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.

Reply via email to