Если вы создаете новые объекты, вы должны использовать bulk_create
вместо bulk_update
.
bulk_update
будет пытаться найти и обновить существующие объекты, но когда вы создаете объект посредством создания экземпляра его классаКак и в случае с Note(...)
, он еще не сохраняется в базе данных.Вот почему вы получаете ошибки.
Кроме того, вы используете конфликтующие модели.Вы создаете список Notes
, но пытаетесь обновить его через Worklog
.Используйте либо Note
, либо Worklog
для них обоих.
Ваш обновленный код должен выглядеть следующим образом:
for note in notes:
old_note = Note(
user_id=note['id']),
author=note['author'],
)
existing_notes.append(old_note)
Note.objects.bulk_create(
existing_notes,
batch_size=1000)