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 не показывал все записи.

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