Re: How to group models month by month.
this is overkill. the query you actually need is this (there even can
be a better way):
SELECT DATE_FORMAT(pub_date, "%Y %M") as pub_date, COUNT(*) as count
FROM app_posts
GROUP BY pub_date
ORDER BY count DESC
i have no idea how to pull this query by the Django ORM but you can
run this as a raw query like this:
Post.objects.raw("SELECT DATE_FORMAT(pub_date, "%Y %M") as pub_date,
COUNT(*) as count FROM app_posts GROUP BY pub_date ORDER BY count
DESC")
kolay gelsin.
On Sep 6, 5:30 pm, Yaşar Arabacı <yasar11...@gmail.com> wrote:
> I already read that, but I can figure out it is something to do with my
> question, bu can't figure out what exactly should I do with aggreates. I
> ended up doing something like this:
> query_set = Post.objects.all()
> years = query_set.dates("pub_date","year")
> date_hierarchy = {}
> for year in years:
> date_hierarchy[year] = {}
> months =
> query_set.filter(pub_date__year=year.year).dates("pub_date","month")
> for month in months:
> date_hierarchy[year][month] =
> query_set.filter(pub_date__year=month.year,pub_date__month=month.month).count()
>
> Then in template:
>
> {% for year, month_dict in date_hierarchy.items %}
> {% for month,post_count in month_dict.items %}
> <li><a href="{% url arsiv_month month.year month.month %}">{{ month|date:"Y
> E" }} [{{ post_count }}]</a></li>
> {% endfor %}
> {% endfor %}
>
> 2011/9/6 Andre Terra <andrete...@gmail.com>
>
>
>
>
>
>
>
>
>
> >http://django.me/aggregation
>
> > Cheers,
> > AT
>
> > 2011/9/6 Yaşar Arabacı <yasar11...@gmail.com>
>
> >> I have a model with datetime field. I want to get a table with three
> >> columns as, year, month and number of items in time span. And I also want to
> >> order them from newest to oldest. What I want to get is something like this:
>
> >> 2011 August 4
>
> >> 2011 March 7
>
> >> How do you suggest I should do that?
>
> >> I am trying to add post archives to my front page in my blog. Here is link
> >> to same question on StackOverflow:
> >>http://stackoverflow.com/q/7320662/886669
> >> --
> >>http://yasar.serveblog.net/
>
> >> --
> >> 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+unsubscribe@googlegroups.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-users@googlegroups.com.
> > To unsubscribe from this group, send email to
> > django-users+unsubscribe@googlegroups.com.
> > For more options, visit this group at
> >http://groups.google.com/group/django-users?hl=en.
>
> --http://yasar.serveblog.net/
--
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+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/django-users?hl=en.
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home