2011-05-23 19 views
6

Cómo obtener el filtro de modelo en intervalos de fechas. En mi proyecto usando empleado doj, necesito dignificar una tabla. como empleado que se ha unido a menos de tres meses, 3-6 meses, 6-12 meses, 12-24 meses.django: filtro de modelo en intervalos de fechas

Depart < 3month 3-6months 6-12months 12-24months 
----------------------------------------- ---- ----- 
    A dep 4  6    6   8 

------------------------------------------------------ 

Cómo hacer este filtro en django.

He pasado por este enlace, pero es confuso.

http://www.nerdydork.com/django-filter-model-on-date-range.html

Gracias de antemano

+1

¿Podría explicar qué parte del artículo vinculado no funcionó para usted? – mwcz

Respuesta

19

El filtro gama funciona así:

MyModel.objects.filter(date__range=(range_start, range_end)) 

puede utilizar que en conjunción con datetime.timedelta para obtener períodos de un mes. Por ejemplo:

from datetime import datetime, timedelta 

now = datetime.now() 

# <3 months 
three_months_ago = now - timedelta(months=3) 
MyModel.objects.filter(date__range=(three_months_ago, now)) 
Cuestiones relacionadas