2011-05-23 77 views
6

如何在日期范围上获取模型过滤器。 在我使用员工doj的项目中,我需要设计一张桌子。 像加入不到三个月,3-6个月,6-12个月,12-24个月的员工。django:日期范围上的模型过滤器

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

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

如何在django中做这个过滤器。

我已经通过这个链接,但它令人困惑。

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

由于提前

+1

您能否解释链接文章的哪部分不适合您? – mwcz 2011-05-23 19:52:20

回答

19

范围过滤器的工作原理是这样的:

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

您可以使用连同datetime.timedelta获得月期间。例如:

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))