我有两个模型,如这些对象:组相同的字段值
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)
这有可能是一个时间表可以像两日的对象,以便:
日(日程= 1天= 0,opening = datetime.time(7,30),closing = datetime.time(10,30)) Day(schedule = 1,day = 0,opening = datetime.time(12,30),closing = datetime。时间(15,30))
喜欢同一天的不同班次。
如果现在迭代他们我会得到0天的两个条目,像这样 [一天一天日程] [0,0,1,2,3,4,5,6]
如何创建一个查询集,以便将相同的日子分组在一起并保持其属性?
[day for day in schedule]
[0 (two entries), 1, 3, 4, 5, 6]
也许像
[id: [day], id: [day]]
值得注意的是,这只适用于你的东西已经排序('groupby'只能删除相邻的重复元素)。当我第一次遇到它时,这种行为让我感到惊讶: - / – phooji