2011-05-23 78 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))