Проблема хранения базы данных Django

Так, я выполняю определенный блок кода в потоках(5), и в коде, выполняемом потоками, данные сохраняются в базе данных. например,

link = AccountLinkModel.objects.create(account=account)

если я печатаю значение объекта "link" и любого поля из модели AccountLinkModel, они печатаются успешно, что означает, что данные были созданы, но в итоге запись некоторых не была найдена в БД, только несколько были записаны в БД.

Посоветуйте, что может быть причиной этого?

Можно попробовать запустить его только с 1 потоком и посмотреть, будет ли проблема по-прежнему возникать, если нет, то возможно у вас есть состояние гонки в вашем коде, где вы не блокируете должным образом общий ресурс ваших потоков.

если я печатаю значение объекта "link" и любого поля из модели AccountLinkModel, они печатаются успешно, что означает, что данные были созданы.

Если функция create обернута блоком транзакции, как

with transaction.atomic:
    link = AccountLinkModel.objects.create(account=account)
   ...other db stuff

Тогда объект не сохраняется в базе данных после вызова функции create. Если вы печатаете после вызова create, то это просто питоновские атрибуты из ram.

Вернуться на верх