我正在製作一個應用程序,您可以將任務分配給人員。如何獲得日期之間的差距?
class Task(models.Model):
TASK_CHOICES = (
('Task_1', 'Task_1'),
('Task_2', 'Task_2'),
('Task_3', 'Task_3'),
)
Person = models.ManyToManyField(Person, blank=True, null=True)
start_date = models.DateField(null=True, blank=True)
end_date = models.DateField(null=True, blank=True)
task = models.CharField(max_length=500, choices=TASK_CHOICES)
def __str__(self):
return '%s' % self.task
我的問題是:我如何得到沒有分配給任何任務的第一個日期?
正如你所看到的2013-10-16
沒有分配給任何任務,我想獲得該日期。
到目前爲止,我試圖做一些查詢集。
filtered_tasks = Task.objects.filter(person='HereHere', start_date_gte='2013-10-10').order_by('start_date')
,然後作出一個元組列表。
date_tuples = [(d.start_date, d.end_date) for d in filtered_tasks]
獲得:
[(datetime.datetime(2013,10,10), datetime.datetime(2013,10,15),
(datetime.datetime(2013,10,17), datetime.datetime(2013,10,23),
(datetime.datetime(2013,10,24), datetime.datetime(2013,10,31)
]
正如你可以看到有task2 start_date
和task1 end_date
之間的間隙。我被困在這裏,我不知道如何告訴Python得到沒有分配任務的日期(16.10)
。
我不確定我是否完全理解你的問題,但是從你所說的聽起來像你只是試圖弄清楚,如果你的查詢結果中的所有條目都是連續的?如果是這樣的話,你可以像Python那樣用if(datetime2 - datetime1).days> 1'來查看兩個日期時間對象的差異是否超過一天。 –