tags:

views:

81

answers:

2

The day is number user will input to get the result that older than (days from user input) for example if user 32 days will get the results that oder than 30days.

A quick try-out:

class Entry(models.Model):
    entered = models.DateTimeField()

>>> from datetime import datetime
>>> Entry(entered = datetime.now()).save()
>>> Entry.objects.filter(entered__lte = datetime.now())
[<Entry: Entry object>]
>>> Entry.objects.filter(entered__gte = datetime.now())
[]
>>> Entry.objects.filter(entered__gte = datetime.now(), entered__lte=datetime(2009,11,1,0,0))
[<Entry: Entry object>]

My problem and my trying

xxxx__day__lte.

last_contact_filled input from input field

for day_filter in xrange(1,int(last_contact_filled)+1):
                qdict['last_contact__day']=day_filter

What's the best way to do this in Django? for filter by day(s) in my case?

+2  A: 

Add a timedelta(-30) to the datetime in the filter.

Ignacio Vazquez-Abrams
dont understand whant you want me to add ,where to add?
python
`datetime.now() + timedelta(-30)`, for instance.
Ignacio Vazquez-Abrams
+2  A: 

Something like this would work for you:

from datetime import datetime, timedelta
how_many_days = 30
MyObject.objects.filter(entered__gte=datetime.now()-timedelta(days=how_many_days))
kibitzer
yes it works...thanks...:)
python