Re: There's got to be a better way

2007-07-27 Thread [EMAIL PROTECTED]
> > Creating a template tag [1] might be a good idea here, especially if > you will be displaying a list of events on any other pages. > > In your view, you would have: > > future_events = > Event.objects.filter(start_date__gte=now).sort_by('start_date') > return

Re: There's got to be a better way

2007-07-27 Thread Gary Wilson
On Jul 26, 1:22 pm, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> wrote: > In my view, I have: > future_events = Event.objects.filter(start_date__gte=now) > pacific_events = future_events.filter(club__region='Pacific') > rocky_mountain_events = future_events.filter(club__region='Rocky >

Re: There's got to be a better way

2007-07-26 Thread [EMAIL PROTECTED]
> > I second the weirdness. I'd try tossing an > > assert False, len(future_events) > > immediately after the > > future_events = Event.objects.select_related().filter(...) > > statement to see what Django thinks it's bringing back for future > events. > > > It wasn't anything to do with

Re: There's got to be a better way

2007-07-26 Thread Tim Chase
>> events = {} # or SortedDict if order matters >> + new_lists = 0 >> + appended_lists = 0 >> for event in future_events: # one DB hit here >> - region = event.club.region >> + region = str(event.club.region) >> +if region in events: >> + appended_lists += 1 >> +

Re: There's got to be a better way

2007-07-26 Thread [EMAIL PROTECTED]
On Jul 26, 4:17 pm, Tim Chase <[EMAIL PROTECTED]> wrote: > > AssertionError: {'Southeast': [], > > 'Northeast': > > [], 'Pacific': [ > show>], > > 'Southwest': []} > > [aside: please use edited-down inline posting conventions rather > than top-posting to make the conversation easier to follow] >

Re: There's got to be a better way

2007-07-26 Thread Tim Chase
> AssertionError: {'Southeast': [], > 'Northeast': > [], 'Pacific': [ show>], > 'Southwest': []} [aside: please use edited-down inline posting conventions rather than top-posting to make the conversation easier to follow] I'm not sure if just using "region" is being considered a unique item

Re: There's got to be a better way

2007-07-26 Thread [EMAIL PROTECTED]
AssertionError: {'Southeast': [], 'Northeast': [], 'Pacific': [], 'Southwest': []} On Jul 26, 3:45 pm, Tim Chase <[EMAIL PROTECTED]> wrote: > >>future_events = Event.object.filter( > >> start_date__gte=now).select_related( > >> ).order_by('start_date') > > >>events = {} # or

Re: There's got to be a better way

2007-07-26 Thread Tim Chase
>>future_events = Event.object.filter( >> start_date__gte=now).select_related( >> ).order_by('start_date') >> >>events = {} # or SortedDict if order matters >>for event in future_events: # one DB hit here >> region = event.club.region >> ev_list =

Re: There's got to be a better way

2007-07-26 Thread [EMAIL PROTECTED]
I'm probably doing something wrong in my template now, but that version is only returning one event per region, and the order is backwards. I tried .order_by('-start_date'), but it didn't appear to make any difference. On Jul 26, 3:12 pm, Tim Chase <[EMAIL PROTECTED]> wrote: > > few minor

Re: There's got to be a better way

2007-07-26 Thread Tim Chase
> few minor questions: > missing ) > [(region, future_events.filter(club__region=region) for region in regions] > > guessing the missing ) goes here: > [(region, future_events.filter(club__region=region)) for region in regions] Yup...must have been my poor transcription from brain to email.

Re: There's got to be a better way

2007-07-26 Thread [EMAIL PROTECTED]
Thanks, Tim. I got tripped up by a punctuation, and only half understood what you were doing, but it put me on the track. Here's what I ended up with: future_events = Event.objects.filter(start_date__gte=now) regions = ( 'Pacific', 'Rocky Mountain', ) events =

Re: There's got to be a better way

2007-07-26 Thread Carl Karsten
Tim Chase wrote: >> In my view, I have: >> future_events = Event.objects.filter(start_date__gte=now) >> pacific_events = future_events.filter(club__region='Pacific') >> rocky_mountain_events = future_events.filter(club__region='Rocky >> Mountain') >> southwest_events =

Re: There's got to be a better way

2007-07-26 Thread Tim Chase
> In my view, I have: > future_events = Event.objects.filter(start_date__gte=now) > pacific_events = future_events.filter(club__region='Pacific') > rocky_mountain_events = future_events.filter(club__region='Rocky > Mountain') > southwest_events =

There's got to be a better way

2007-07-26 Thread [EMAIL PROTECTED]
I'm sure you all will immediately see what I'm doing, and how I could be doing it better. I'm sure I need to create my own dict or something, but I'm not sure how I'd do so, or (more importantly), how I'd work with in the template. In my view, I have: future_events =