django:日期范围的模型过滤器

时间:2011-05-23 19:43:45

标签: django django-models

如何在日期范围内获取模型过滤器。 在我使用员工doj的项目中,我需要设计一个表。 比如加入时间不到三个月,3-6个月,6-12个月,12-24个月的员工。

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 个答案:

答案 0 :(得分: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))