Мои модели выглядят примерно так:
class Customer(models.Model):
name = models.CharField(max_length=100)
class Order(models.Model):
customer = models.ForeignKey(Customer)
date = models.DateField()
total = models.DecimalField(max_digits=5, decimal_places=2)
У меня тогда есть набор запросов:
from datetime import datetime
start_date = datetime(year=2009, month=6, day=1)
end_date = datetime(year=2009, month=11, day=1)
orders = Order.objects.filter(date__lte=end_date).filter(date__gte=start_date)
Теперь я хочу выяснить, какие клиенты сделали несколько заказов между этими временами, сколько заказов они сделали и какова их средняя сумма. У меня такое чувство, что мне следует использовать новые функции агрегирования Django 1.1, но я не могу по-настоящему обдумать это.