Thursday, October 28, 2010

How to aggregate values by month

Hello!

I'm having an issue to make complex queries in django. My problem is, I have a model where I have the sales and I need to make a report showing the sales amount per month, by the way I made this query:

init_date = datetime.date(datetime.now()-timedelta(days=365))
ends_date = datetime.date(datetime.now())
sales = Sale.objects.filter(date_created__range=(init_date,ends_date)).values(date_created__month).aggregate(total_sales=Sum('total_value'))

At the first line I get the today's date past one year
after this I got the today date

at sales I'm trying to between a range get the sales amount grouped by month, but unfortunatelly I was unhappy on this, because this error appeared:
global name 'date_created__month' is not defined

At date_created is the field where I store the information about when the sale was done., the __moth was a tentative to group by this by month.

So, my question: how to do that thing without using a raw sql query and not touching on database independence?

Thanks so much!

Rogério Carrasqueira

---
e-mail: rogerio.carrasqueira@gmail.com
skype: rgcarrasqueira
MSN: rcarrasqueira@hotmail.com
ICQ: 50525616
Tel.: (11) 7805-0074

--
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.

No comments:

Post a Comment