我有一个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
是它迪正确的做法是或者有更好的方式来遍历一个日期范围,并找到所有的日子,当进度计划。