Django QuerySet相当于SQL之间和

时间:2009-09-16 14:57:28

标签: 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_dateend_date之间,那么相应的SQL就是:

SELECT * 
FROM employee
WHERE curr_date between start_date and end_date

我想出的相应Django QuerySet是:

Employee.objects.filter(start_date__lte=curr_date, end_date__gte=curr_date)

是否有另一种方法可以使用Django的QuerySet执行上述操作,__range方法对上述情况不起作用。

1 个答案:

答案 0 :(得分:1)

你是对的,__range方法不起作用,所以不,没有办法使用Django ORM来创建你所追求的SQL。

使用您提出的.filter方法是否有问题?