我有一個django的模型之旅,其中i有一個起始日期日期和結束日期這樣遍歷日期時間範圍在Django模板
class Journey(models.Model):
start_date = models.DateField(verbose_name=_('Start date'))
end_end = models.DateField(verbose_name=_('End date'))
和具有另一種模型,該模型具有FOREIGNKEY這個模型 DAY_OF_WEEK =((「MO」 ,星期一'), ('T','星期二'), ('WE','星期三'), ('TH','星期四'), ('FR','Friday'), ('SA','Saturday'), ('SU','Sunday'),)
class Schedule(models.Model):
day = models.CharField(max_length=2, choices=DAY_OF_WEEK)
start_time = models.TimeField(null=True, blank=True,)
end_time = models.TimeField(null=True, blank=True,)
journey = models.ForeignKey(Journey)
我想要做的是,我想遍歷從start_date到end_date的所有日子。如果日期屬於Schedule模型中的日期,那麼我想在字典中更新該日期以及模型的其他字段,以便我可以在模板上迭代它。爲了這個,我想這
import datetime
from time import strftime
def get_schedule_days(self):
days=Schedule.objects.filter(journey=self).values('day')
days_list=[]
for day in days:
days_list.append(day['day'])
delta = datetime.timedelta(days=1)
schedule_dict={}
while d <= end_date:
if d.strftime("%A").upper()[:2] in days_list:
schedule_dict.update('date',d.strftime("%Y-%m-%d"))
print d.strftime("%Y-%m-%d")
d += delta
是它迪正確的做法是或者有更好的方式來遍歷一個日期範圍,並找到所有的日子,當進度計劃。