我有两个模型Event
和Shift
。
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)
现在我要修剪start
中end
中events
的{{1}}和queryset
以使start
和{{1}我要过滤的end
中的}。此外,某些Shift
可能会多次穿越events
。在这种情况下,我必须将Shift
拆分为它穿过Event
的次数。我该如何实现?