假设我有下表:
员工
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 QuerySet是:
Employee.objects.filter(start_date__lte=curr_date, end_date__gte=curr_date)
是否有另一种方法可以使用Django的QuerySet执行上述操作,__range
方法对上述情况不起作用。
答案 0 :(得分:1)
你是对的,__range
方法不起作用,所以不,没有办法使用Django ORM来创建你所追求的SQL。
使用您提出的.filter
方法是否有问题?