1
SQL的之间比方说,我有如下表:Django的查询集等效
员工
name start_date end_date
John 2009-10-10 2009-12-31
Joe 2009-12-01 2010-05-10
我也有一个curr_date
= '2009-11-01'。如果我想获得的所有员工,其中curr_date
应该是员工的start_date
和end_date
包容性,相应的SQL之间:
SELECT *
FROM employee
WHERE curr_date between start_date and end_date
相应的Django的查询集,我想出了是:
Employee.objects.filter(start_date__lte=curr_date, end_date__gte=curr_date)
有使用Django的QuerySet完成上述操作的替代方法,__range
方法对于上述情况并不适用。
这个过滤器没什么问题,我只是想知道DRYer执行这个查询的方法,我想你不能真的干任何事情。 – 2009-09-17 05:25:40