Django - обновить объект списком словарей - PullRequest
0 голосов
/ 04 ноября 2019

Я пытаюсь обновить несколько объектов с разными значениями, используя список словарей.

Я могу обновить все объекты с помощью кода, показанного ниже. Однако все объекты обновляются значениями, содержащимися в последнем словаре в списке.

Словарь и списки, показанные ниже, содержат значения, которые я ожидаю от них, поэтому, похоже, проблема не возникает. там ...

Я не знаю, как решить эту проблему. Любая помощь или совет с благодарностью.

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()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...