修改Django queryset的结果

时间:2018-09-03 13:25:20

标签: python django django-queryset

我有两个模型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上,我必须过滤掉Events间隔内发生的Shift。而我做到了。

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)

现在我要修剪startendevents的{​​{1}}和queryset以使start和{{1}我要过滤的end中的}。此外,某些Shift可能会多次穿越events。在这种情况下,我必须将Shift拆分为它穿过Event的次数。我该如何实现?

0 个答案:

没有答案