在排除/特定情况下的时间范围内查询时间

时间:2017-05-11 02:15:52

标签: sql django postgresql

假设我有 Item 模型,它有一个开始和结束时间段。

class Item(models.Model):
    start = models.TimeField()
    end = models.TimeField()

我需要获取特定范围内的所有项目(在某些开始和结束之间),

,但

假设我的数据库中有两个项目:

第1项,从下午5点开始,到晚上8点结束

第2项,从晚上8点开始,到晚上11点结束

我想查询以获取之间和之后(包括)下午5点到晚上8点的所有项目, 因此它应仅返回项目1 ,即使项目2从晚上8点开始,我不想要第2项,因为项目2的结尾与开始不同第1项。

1 个答案:

答案 0 :(得分:0)

在您的查询中明确检查gtelte

qs = Item.objects.filter(start__gte=<given_start>, end__lte=<given_end>)