0

我正在尝试在 django 中创建一个元组列表,例如

appointments = [(datetime(2012, 5, 22, 10), datetime(2012, 5, 22, 10, 30)),    
                (datetime(2012, 5, 22, 12), datetime(2012, 5, 22, 13)),    
                (datetime(2012, 5, 22, 15, 30), datetime(2012, 5, 22, 17, 10))]

我正在迭代一个 django 查询集并将值存储在约会列表中,例如

    appoinments = [] 
    for select_meeting in get_meeting:
        getm = int(select_meeting.duration)
        appoinments += zip(((select_meeting.meeting_datetime),
                            (select_meeting.meeting_datetime + timedelta(minutes = getm))))
    print appoinments

但它返回的结果实际上不是我的要求

[(datetime.datetime(2012, 11, 11, 21, 5),),
 (datetime.datetime(2012, 11, 11, 22, 5),),
 (datetime.datetime(2012, 11, 11, 23, 5),),
 (datetime.datetime(2012, 11, 12, 0, 5),)]
4

2 回答 2

2

您使用 zip 错误 - 它实际上是它的工作方式,这很正常(它返回的第 i 个元组包含给定可迭代的第 i 个元素)。这些行应该是:

appointments.append((select_meeting.meeting_datetime,
                     select_meeting.meeting_datetime + timedelta(minutes = getm)))

它应该是你现在想要的。

于 2012-08-16T08:36:02.710 回答
0
appointments = [(x, x+timedelta(minutes=x.duration)) for x in get_meeting]
于 2012-08-16T09:01:23.617 回答