Den 25/02/2014 kl. 17.10 skrev MikeKJ <[email protected]>:

> model:
> class Dates(models.Model):
>     this_date = models.DateField()
> 
> class Booking(models.Model)
>     seats = models.IntegerField()
>     date = models.ForeignKey(Dates)
> 
> report view:
>     this_date = "01-01-2000"
>     seats = 0
>     daily_arrivals = []
>     all = Booking.objects.all()
>     for a in all:
>         while a.date != this_date:
>             seats += seats
>             daily_seats.append("%s - %s" % (a.date, a.seats)
>             this_date = a.date
> 
> What I am trying to get at is a total of seats by date as a list to send to a 
> template

That's some pretty bizarre code. Try:

from collections import defaultdict
seats_map = defaultdict(int)
for b in Booking.objects.all():
    seats_map[b.date.this_date] += b.seats

Or look at the aggregation options in the Django ORM. BTW, why even bother with 
the Dates model? Just make Booking.date a DateField.


Erik

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/085B9396-6900-4430-AFD5-38E34FEC7634%40cederstrand.dk.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to