Re: Best way of getting objects within a certain date range (method or manager)?

2008-06-30 Thread [EMAIL PROTECTED]

That was it. Thanks!

On Jun 30, 9:59 am, Matt <[EMAIL PROTECTED]> wrote:
> On Jun 30, 8:36 am, "[EMAIL PROTECTED]"
>
> <[EMAIL PROTECTED]> wrote:
> > It sounds like I'm using "event_date" without defining it first. But
> > the examples in the Django documentation do the same thing. What am I
> > doing wrong?
>
> Try: super(CurrentManager,
> self).get_query_set().filter(event_date__gte=datetime.date.today())
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~--~~~~--~~--~--~---



Re: Best way of getting objects within a certain date range (method or manager)?

2008-06-30 Thread Matt

On Jun 30, 8:36 am, "[EMAIL PROTECTED]"
<[EMAIL PROTECTED]> wrote:
> It sounds like I'm using "event_date" without defining it first. But
> the examples in the Django documentation do the same thing. What am I
> doing wrong?

Try: super(CurrentManager,
self).get_query_set().filter(event_date__gte=datetime.date.today())
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~--~~~~--~~--~--~---



Re: Best way of getting objects within a certain date range (method or manager)?

2008-06-30 Thread [EMAIL PROTECTED]

Yes, it sounds like a custom manager will do the job. Here's what I
added:

class CurrentManager(models.Manager):
def get_query_set(self):
return super(CurrentManager, 
self).get_query_set().filter(event_date
> datetime.date.today())

class Event(models.Model):
ATTIRE_CHOICES = (
('C', 'Casual'),
('F', 'Formal'),
)
slug = models.SlugField(prepopulate_from=('name',), unique=True,
help_text='This field will prepopulate from the name field.')
name = models.CharField(max_length=200)
location = models.ForeignKey('Location')
description = models.TextField(help_text='Please use http://daringfireball.net/projects/markdown/syntax;>Markdown
syntax.')
event_date = models.DateField()
start_time = models.TimeField()
finish_time = models.TimeField()
attire = models.CharField(max_length=1, choices=ATTIRE_CHOICES)
featured_event = models.BooleanField()
featured_event_photo = models.ForeignKey(Photo, blank=True,
raw_id_admin=True, null=True)
category = models.ForeignKey(Category)
objects = models.Manager()
current = CurrentManager()

Only, when I try to get the current Event objects via the Django
shell, I receive an error:

>>> Event.current.all()
Traceback (most recent call last):
  File "", line 1, in 
  File "/home/ypknox/webapps/django/lib/python2.5/django/db/models/
manager.py", line 67, in all
return self.get_query_set()
  File "/home/ypknox/webapps/django/ypknox/apps/events/models.py",
line 8, in get_query_set
return super(CurrentManager,
self).get_query_set().filter(event_date > datetime.date.today())
NameError: global name 'event_date' is not defined

It sounds like I'm using "event_date" without defining it first. But
the examples in the Django documentation do the same thing. What am I
doing wrong?

On Jun 30, 9:02 am, bruno desthuilliers
<[EMAIL PROTECTED]> wrote:
> On 30 juin, 14:53, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
> wrote:
>
>
>
> > I'm wanting to display only current (vs. expired) calendar events via
> > my Django events app. Each event has a date that it will occur. But
> > I'm not sure of the best method to get only the current events in the
> > db.
>
> > Current events are those whose date is less than or equal to the
> > present date. They are expired when the present date is greater than
> > the event date.
>
> > I have been able to display only the current events in the generic
> > list view for all events by doing the following in my URLs:
>
> > event_list_info = {
> >         'queryset' : Event.objects.filter(date__gte=datetime.date.today()),
> >         'allow_empty' : True,
>
> > }
>
> > What's the best way to do this in my models?
>
> Use a custom manager, definitively. cf James Bennett's post on this
> topic:http://www.b-list.org/weblog/2008/feb/25/managers/
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~--~~~~--~~--~--~---



Re: Best way of getting objects within a certain date range (method or manager)?

2008-06-30 Thread bruno desthuilliers



On 30 juin, 14:53, "[EMAIL PROTECTED]" <[EMAIL PROTECTED]>
wrote:
> I'm wanting to display only current (vs. expired) calendar events via
> my Django events app. Each event has a date that it will occur. But
> I'm not sure of the best method to get only the current events in the
> db.
>
> Current events are those whose date is less than or equal to the
> present date. They are expired when the present date is greater than
> the event date.
>
> I have been able to display only the current events in the generic
> list view for all events by doing the following in my URLs:
>
> event_list_info = {
> 'queryset' : Event.objects.filter(date__gte=datetime.date.today()),
> 'allow_empty' : True,
>
> }
>
> What's the best way to do this in my models?

Use a custom manager, definitively. cf James Bennett's post on this
topic:
http://www.b-list.org/weblog/2008/feb/25/managers/


--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~--~~~~--~~--~--~---



Best way of getting objects within a certain date range (method or manager)?

2008-06-30 Thread [EMAIL PROTECTED]

I'm wanting to display only current (vs. expired) calendar events via
my Django events app. Each event has a date that it will occur. But
I'm not sure of the best method to get only the current events in the
db.

Current events are those whose date is less than or equal to the
present date. They are expired when the present date is greater than
the event date.

I have been able to display only the current events in the generic
list view for all events by doing the following in my URLs:

event_list_info = {
'queryset' : Event.objects.filter(date__gte=datetime.date.today()),
'allow_empty' : True,
}

What's the best way to do this in my models?
--~--~-~--~~~---~--~~
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 [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~--~~~~--~~--~--~---