Создание объекта Django и последовательности Postgres

У меня есть скрипт импорта, который запускает серию команд для передачи данных из одной БД Postgres в другую, обе из которых работают с одной и той же кодовой базой Django. По большей части он использует ./manage.py loaddata для копирования, но некоторые объекты требуют дополнительной обработки, и я использую Django 's objects.create () метод в пользовательском скрипте для копирования данных. При этом я указываю идентификатор, т.е.

MyObject.objects.create(id = 2, title = 'foo')

Когда сценарий готов, яЯ заметил, что Postgres SEQUENCE неверен в таблицах, где я делал objects.create (). То есть до импорта было 50, а после 50 еще 50, хотя в таблице теперь 150 объектов. Это, конечно, приводит к ошибкам при создании новых объектов, поскольку он пытается использовать идентификатор, который уже существует (во всех этих таблицах идентификатор - это просто поле автоинкремента ванили). Однако таблицы, которые были заполнены с помощью ./manage.py loaddata, выглядят хорошо.

Я знаю, что я могу вручную сбросить эти таблицы с помощью Django 's ./manage.py sqlsequenreset, но яМне любопытно, почему последовательность, кажется, выходит из строя в первую очередь. Разве objects.create () не увеличивает его? Я пропускаю что-то очевидное?

Ответы на вопрос(2)

Ваш ответ на вопрос