Django не создает объекты для всех строк в postgresql
Я пишу сценарий миграционного инструмента для получения данных из старой программы в новую версию с другой структурой данных.
Во время просмотра csv-файлов я создаю объекты. Проблема в том, что каждый объект создается в postgres, а в django - нет.
Я получаю ошибки типа: duplicate key value violates unique constraint "api_order_pkey" DETAIL: Ключ (id)=(159865) уже существует.
Order.objects.get(pk=159865) возвращает "Не существует". Но SELECT * FROM api_order WHERE pk = 159865 непосредственно в Postgres находит строку.
with open("order.csv","r") as f:
reader = csv.reader(f)
for row in reader:
Order.objects.create(pk = row[0], ordernr= row[1],....)`
это, конечно, краткая версия.
При импорте около 250.000 строк эта проблема возникает примерно со 100 строками.
У меня была такая же проблема с удалением. Я выполнил Order.objects.all().delete(), но в Postgres оставалось несколько строк, а Order.objects.all() вернул пустой Queryset.
Есть ли что-то, что я могу сделать с этим? Была ли у кого-нибудь подобная проблема?
Простите, моя вина.
У меня был запущен менеджер, который изменял набор запросов. Вот почему Django не показывал все записи.