代码之家  ›  专栏  ›  技术社区  ›  Dicky Raambo

django queryset查找日期之间的数据

  •  0
  • Dicky Raambo  · 技术社区  · 6 年前

    我不知道标题应该是什么,我只是被卡住了,需要问一下。

    我有一个叫 shift

    想象一下数据库表是这样的:

    #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 ?…

    谢谢您!

    2 回复  |  直到 6 年前
        1
  •  1
  •   Leighton    6 年前

    start__lte=2018-01-10, end__gte=2018-01-10

        2
  •  0
  •   willeM_ Van Onsem    6 年前

    start end

    Shift

    from datetime import date
    
    t0 = date(2018, 1, 10)
    
    Shift.objects.filter(start__lte=t0, end__gte=t0)

    e