我有一个日期时间对象列表,我想找到最老或最年轻的对象.其中一些日期可能在将来.
from datetime import datetime
datetime_list = [
datetime(2009, 10, 12, 10, 10),
datetime(2010, 10, 12, 10, 10),
datetime(2010, 10, 12, 10, 10),
datetime(2011, 10, 12, 10, 10), #future
datetime(2012, 10, 12, 10, 10), #future
]
Run Code Online (Sandbox Code Playgroud)
什么是最佳方式?我在考虑将datetime.now()与其中的每一个进行比较.
我有两个这样的模型:
class Schedule(models.Model):
name = models.CharField(_('name'), blank=True, max_length=15)
class Day(models.Model):
DAYS_OF_THE_WEEK = (
(0, _('Monday')),
(1, _('Tuesday')),
(2, _('Wednesday')),
(3, _('Thursday')),
(4, _('Friday')),
(5, _('Saturday')),
(6, _('Sunday')),
)
schedule = models.ForeignKey(Schedule, blank=True, null=True, verbose_name=_('schedule'))
day = models.SmallIntegerField(_('day'), choices=DAYS_OF_THE_WEEK)
opening = models.TimeField(_('opening'), blank=True)
closing = models.TimeField(_('closing'), blank=True)
Run Code Online (Sandbox Code Playgroud)
计划可能有两个Day对象,如下所示:
Day(schedule = 1,day = 0,opening = datetime.time(7,30),closing = datetime.time(10,30))Day(schedule = 1,day = 0,opening = datetime.time(12, 30),closing = datetime.time(15,30))
喜欢同一天不同的班次.
如果我现在迭代它们,我会得到第0天的两个条目,就像这样[日程安排] [0,0,1,2,3,4,5,6]
如何创建一个查询集,以便它将相同的日期组合在一起并保留其属性?
[day for day in schedule]
[0 (two entries), 1, 3, 4, …
Run Code Online (Sandbox Code Playgroud)