1

全部,

我是 Python 新手,在更新reminder_is_set日历项目的属性时遇到问题。我正在尝试从现在和提前 7 天获取我的日历项目并关闭提醒。

我可以很好地获取视图中的日历项目。我可以很好地枚举项目。我似乎无法弄清楚如何更新值并保存每个项目。我查看了示例并查看了批量更新示例,但我没有看到在 fetch 和批量更新调用之间设置值的位置。任何和所有的帮助表示赞赏。

calendar_items = account.calendar.view(start=startDate, end=currentDateTime)

calendar_ids = [(i.id, i.changekey) for i in calendar_items]

items_iter = account.fetch(ids=calendar_ids, only_fields='reminder_is_set')
for item in items_iter:
    item.reminder_is_set = False

updated_ids = account.bulk_update(items=[(i, ('reminder_is_set')) for i in calendar_items])
4

1 回答 1

0

主要问题是您的更改已在其中,items_iter但您正在调用bulk_update()其中calendar_items没有更改。

这是一个应该有效的示例:

update_pairs = []
for item in account.calendar\
        .view(start=startDate, end=currentDateTime)\
        .only('reminder_is_set'):
    if item.reminder_is_set:
        item.reminder_is_set = False
        update_pairs.append((item, ('reminder_is_set',)))

updated_ids = account.bulk_update(items=update_pairs)
于 2019-05-08T12:37:53.690 回答