我不知道标题是什么,我只是被卡住了,需要询问。
我有一个名为shift
并想象这样的db_table:
#table shift +---------------+---------------+---------------+---------------+------------+------------+ | start | end | off_start | off_end | time | user_id | +---------------+---------------+---------------+---------------+------------+------------+ | 2018-01-01 | 2018-01-05 | 2018-01-06 | 2018-01-07 | 07:00 | 1 | | 2018-01-08 | 2018-01-14 | 2018-01-15 | Null | 12:00 | 1 | | 2018-01-16 | 2018-01-20 | 2018-01-21 | 2018-01-22 | 18:00 | 1 | | 2018-01-23 | 2018-01-27 | 2018-01-28 | 2018-01-31 | 24:00 | 1 | | .... | .... | .... | .... | .... | .... | +---------------+---------------+---------------+---------------+------------+------------+
如果我将查询集与start=2018-01-01
这样的过滤器一起使用,结果将为07:00
但是如果我输入12:00
怎么获得结果2018-01-10
?...
谢谢!
答案 0 :(得分:1)
问题不太清楚,但也许您在追求类似
start__lte=2018-01-10, end__gte=2018-01-10
?
答案 1 :(得分:0)
通常,您可以通过间隔检查来做到这一点:end
应该小于或等于您要查询的日期,而Shift
应该大于或等于日期。您要查询。
因此,您可以获得from datetime import date
t0 = date(2018, 1, 10)
Shift.objects.filter(start__lte=t0, end__gte=t0)
实例,其中它们的时间范围包括给定范围,
start
如果end
和/或e
日期为 non (包括两个日期),请删除相应的[HttpGet("tools/browse/{table}/{row}/{offset}")]
后缀。