我正在尝试使用字典列表更新具有不同值的多个对象。
我能够使用下面显示的代码更新所有对象。但是,所有对象都将使用列表中最后一个字典中包含的值进行更新。
下面显示的字典和列表包含了我期望它们的值,因此那里似乎没有问题...
我不知道如何解决这个问题。任何帮助或建议,我们将不胜感激。
models.py
...
event_set = (Event.objects.filter(recurring_event__pk=self.id))
event_set_list = []
for events in event_set:
event_set_list.append(events)
update_event = []
for item in recurring_event_list:
defaults = {}
defaults['recurring_event']=item[0]
defaults['title']=item[1]
defaults['start']=item[2]
defaults['end']=item[3]
update_event.append(defaults)
for event in event_set_list:
obj = Event.objects.get(id=event.id)
for index in range(len(update_event)):
for d in update_event[index]:
setattr(obj,'recurring_event',update_event[index]['recurring_event'])
setattr(obj,'title',update_event[index]['title'])
setattr(obj,'start',update_event[index]['start'])
setattr(obj,'end',update_event[index]['end'])
obj.save()