Проблема хранения базы данных 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.