首页 > 解决方案 > 修改django查询集的结果

问题描述

我有两个模型EventShift.

class Event(models.Model):
    start = models.DateTimeField()
    end = models.DateTimeField(blank=True, null=True)

class Shift(models.Model):
    name = models.CharField(max_length=20)
    start = models.TimeField()
    end = models.TimeField()

现在对一些view我必须过滤掉EventsShift. 我做到了。

queryset = Event.objects.all()
queryset = queryset.filter(start__time__gte=s.start).filter(start__time__lte=s.end) |\
queryset.filter(start__time__lte=s.start).filter(end__time__gte=s.start)

现在我想修剪一下start,让我正在过滤end。此外,有些人可能不止一次穿越。在这种情况下,我必须将它拆分为它穿过 a 的次数。我怎样才能做到这一点?eventsquerysetstartendShifteventsShiftEventShift

标签: pythondjangodjango-queryset

解决方案


推荐阅读