全部
我是Python的新手,在更新日历项的reminder_is_set
属性时遇到问题。我正试图从现在起7天前获取日历项目,并关闭提醒。
我可以在视图中获得日历项目。我可以列举这些项目。我似乎无法弄清楚如何更新值并保存每个项目。我查看了示例并看到了批量更新示例,但没有看到在获取和批量更新调用之间的值设置位置。任何和所有帮助表示赞赏。
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])
答案 0 :(得分: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)