Правильное использование массового обновления Django для добавления в список
У меня есть список элементов в словаре validated_data
, который я сейчас обновляю пользователю и сохраняю в db.
for book in validated_data:
book.user = self.context['request'].user
obj.save()
Я хотел бы использовать массовое обновление Django. Я нашел следующий пример :
Который я изменил следующим образом:
for book in validated_data:
book.user = self.context['request'].user
Book.objects.bulk_update(validated_data, update_fields = ['user'])
Однако я не понимаю, как это может работать. Во-первых, validated_data
никогда не обновлялся в этом примере.
Как я могу обновить каждый элемент в validated_data
, чтобы он содержал мое новое значение?
As, Django bulk_update not working on default attributes,
Я думаю, что вы работаете с устаревшим экземпляром, поэтому вам может понадобиться обновить каждый экземпляр книги.
for book in validated_data:
book..refresh_from_db()