tarantino - filtro django más viejo que el día(s)?
django tutorial (3)
Agregue un timedelta(-30)
a la datetime
y datetime
en el filtro.
El día es el número que el usuario ingresará para obtener el resultado anterior a (días de la entrada del usuario), por ejemplo, si el usuario 32 días obtendrá los resultados que superen los 30 días.
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>]
Mi problema y mi intento.
xxxx__day__lte.
Last_contact_filled entrada desde el campo de entrada
for day_filter in xrange(1,int(last_contact_filled)+1):
qdict[''last_contact__day'']=day_filter
¿Cuál es la mejor manera de hacer esto en Django? ¿Para filtrar por día (s) en mi caso?
Algo como esto te funcionaría:
from datetime import datetime, timedelta
how_many_days = 30
MyObject.objects.filter(entered__gte=datetime.now()-timedelta(days=how_many_days))
Podemos usar Django timezone.now () con timedelta
from datetime import timedelta
from django.utils import timezone
time_threshold = timezone.now() - timedelta(days=7)
Entry.objects.filter(entered__gte=time_threshold)